질문에서 알 수 있듯이 사용자 목록을 사용하여 목록의 목록에서 요소를 제거하려고합니다. 목록 형식이 이와 같이 지정됩니다. '((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
예 ... 15 시간 동안 계속 작업 해 왔습니다. – snowe
코드 규칙이 스키마 규칙과 일치하도록 수정했습니다. 제가 의미를 바꾸지 않았는지 확인하십시오. – yarian