1
我想要定義一個過程,該過程需要2個列表和一個非負整數的參數。假設有完美的輸入。我希望它在第一個列表中構建一個元素列表,直到它到達給定的整數元素,在這個元素處,我想用第二個列表中剩餘的元素完成它。讓我來證明一下。方案:在某個點結合列表
~(combine '(a b c d e) '(w x y z) 2)
(a b y z)
注意,第二個列表從下一指數繼續就好像被做CDR的全部時間。
這就是我所擁有的。這當然不起作用,我想我可能會使用錯誤的邏輯。
(define (combine seq1 seq2 point)
(if (null? (or seq1 seq2))
'()
(if (equal? point 0)
(cons seq2 '())
(cons (car seq1) (combine (cdr seq1) (cdr seq2) (- point 1))))))
所有幫助將不勝感激!
謝謝!
好吧,我把它做的主要是我想要的!現在我得到一個類似於 ((a b)y z) 的列表如何組合這兩個列表?我只是使用append,但我的老師不會允許我。 – jblittle
嗯。看起來好像你差不多在那裏,但是你也許會把其他東西搞砸。我很驚訝,因爲最後一行是完全正確的。如果你保留最後一行,我不會看到你如何得到新的結果,除非你在其他地方搞亂了seq1。 – itsbruce
其實它確實發生了我seq1錯位的地方。我修復了它,現在代碼運行得很完美。萬分感謝! – jblittle