正如問題所示,我試圖從用戶輸入中刪除列表中的元素。 列表的格式如此。 '((X X X) (X X X X) (X X))
其中每個子列表包含任意數量的X。根據用戶在球拍中的選擇從列表中刪除元素
用戶爲每個子列表選擇1,2,3,...。因此,如果用戶輸入1,則選擇子列表'(X X X)
。用戶然後選擇要移除的元素數量。
我現在的代碼如下。
(define (humanTurn rows player playerNumber)
(drawBoard (with-handlers ([exn:fail?
(lambda (exn)
(display
"ILLEGAL MOVE, PLEASE ENTER A VALID NUMBER\n"))])
(getRowAndSticks rows))
(list (first (rest player)) (first player))
(cond [(equals? playerNumber 1) 2]
[(equals? playerNumber 2) 1]
[else "error"])))
(define (getRowAndSticks rows)
(list-tail (list-ref rows (sub1 (getRow)))
(begin
(display "How many sticks:........ ")
(read))))
(define (getRow)
(display "Which row do you choose: ")
(read))
問題是我無法弄清楚如何將列表附加在一起。我只設法獲得我已經從中刪除元素的列表。我沒有看到任何解決方案,因爲我不允許使用變量。
從CSM的CS400工作,呃? – zanegray 2013-02-21 06:44:56
是的......我已經連續工作了15個小時。 – snowe 2013-02-21 08:11:04
我修正了您的代碼格式以符合方案約定。請確保我沒有改變任何意義。 – yarian 2013-02-26 22:16:52