如何在方案语言中实现以下内容?
问题描述:
我想在计划语言中获得下面的输出。有谁能让我知道我错在哪里?我想在最后添加.z
,但没有收到。我怎么能够?如何在方案语言中实现以下内容?
代码:
(define (countup n)
(define (help i)
(if (<= i n)
(cons 's (help (+ i 1)))
'()))
(help 1))
输入:
(countup 4)
期望的输出:
'(s s s s .z)
但未来输出
'(s s s s)
答
正如@molbdnilo所提到的,它必须以合适的输出样式(即以null结尾)与不适当的列表相对应。
#lang racket
(cons 's (cons 's (cons 's (cons 's 'z)))) ; => '(s s s s . z)
(cons 's (cons 's (cons 's (cons 's '())))) ; => '(s s s s)
(cons 's (cons 's (cons 's (cons 's (cons 'z '()))))) ; => '(s s s s z)
请注意,“。”是一个输出假象 - 这就是你的实现如何打印一个不正确的列表(最后一个元素不是“()”的列表)。 – molbdnilo