2017-09-19 104 views
0

問題如下: 定義一個函數addOne,該函數接受一個數字列表並返回一個列表,其中輸入列表中的每個數字都增加1。例如,(addOne'(1 2 3 4))應該返回(2 3 4 5),並且(addOne'(2 4 6 8))應該返回(3 5 7 9)。計劃語言向每個列表元素添加一個

我是新的計劃語言,需要幫助。謝謝!

回答

0

使用地圖:

(define (add-one nums) 
    (map (lambda (x) (+ x 1)) nums)) 
0

我試着想一個簡單的解決這個問題。我創建了一個輔助程序,plus1,這需要在一個數,並返回該數的總和與1:

(define (plus1 x) 
    (+ x 1)) 

然後,我使用map定義addOne

(define (addOne lst) 
    (map plus1 lst)) 

基本上,map取入兩個參數:一個過程和一個列表。它將該過程應用於該列表中的每個項目,然後根據該過程返回修改後的列表。在這種情況下,的map部分只需要輸入列表的每個項目,向其中添加1,然後返回新列表。

請回答問題或反饋!

相關問題