2015-10-05 51 views
0

我想在计划语言中获得下面的输出。有谁能让我知道我错在哪里?我想在最后添加.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) 
+1

请注意,“。”是一个输出假象 - 这就是你的实现如何打印一个不正确的列表(最后一个元素不是“()”的列表)。 – molbdnilo

回答

1

正如@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)