2015-10-05 22 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)