我是Scheme新手,這是我第一個功能性語言。遞歸地實現幾乎所有東西似乎對我來說都很尷尬。然而,能夠實現具有單個整數輸入的因子和斐波納契問題的函數。遞歸函數接受方案中的列表
但是,當你的函數有一個列表輸入時呢?假設這個練習:
功能:ret10 - 提取並返回一個列表中的所有號碼大於10 了在給定的列表中找到,詭詐>(ret10「(XE(HN)1月23日12點)) OUTPUT:(23 12)
我應該有(定義C(名單))作爲我的功能在這個論點?或者還有其他方法嗎?
請幫忙。謝謝!
這裏的基於SIR奧斯卡·洛佩斯的回答我的派生的解決方案如下..希望這可以幫助別人:
(define (ret10 lst)
(cond
((null? lst) '())
((and (number? (car lst)) (> (car lst) 10))
(cons (car lst)
(ret10 (cdr lst))))
(else (ret10 (cdr lst)))
)
)
哎呀。我的意思是大於10。很抱歉。編輯它。 –