我正在尝试获得一个简单的函数,它需要 n 并打印
If n > 0:
print((n*'*')+(n*'!'), end=' ')
并试图以递归方式获得相同的解决方案。我是递归的初学者,经常得到“更高层次的思考”,但我无法理解必须遵循的代码。
我的基本情况是,当 n 为 0 时,它什么也不打印。当 n 大于 1 时,它将打印 n 份 * + n 份!
def repeat(n):
if n <= 0:
pass
else:
repeat(n-1)
print((n*'*')+(n*'!'), end=' ')
现在它打印 n,然后连续打印 n-1 直到 0。我尝试将它分成两个打印语句并使用多个递归......但它变成了一个混乱的模式。
我也不允许使用循环。这个让我发疯;除了简单的一行语句之外,我还提出了几种解决方案,但没有一个使用递归。