我正在尝试使用递归将我之前创建的基本形状(y)堆叠在自身之上 x 次。
(define stack-copies-of
(lambda (x y)
(if zero? x)
null
(if > x 0)
(stack-copies-of (- x 1))))
我如何让它继续显示彼此顶部的形状然后停在0?
如果“堆叠基本形状”是指使用递归构建堆栈(列表),那么这对您有用:
(define stack-copies-of
; y is a shape, x is a number of shapes
(lambda (x y)
; for zero or negative number of shapes, return the empty list
(if (<= x 0) '()
; for more than zero shapes, use recursion to build a list
(cons y (stack-copies-of (sub1 x)))
)))
如果您希望在屏幕上使用实际显示形状,则需要更多说明。