我需要编写一个递归函数printPattern(),它以一个整数n作为参数,在一行上打印n个星号和n个感叹号。函数不应该有任何循环,也不应该使用字符串的乘法。字符的打印只能递归进行。以下是函数行为的一些示例:
>>>printPattern(3)
***!!!
>>>printPattern(10)
**********!!!!!!!!!!
这就是我现在所拥有的
def printPattern(n):
if n < 1:
pass
else:
return '*'*printPattern(n)+'!'*printPattern(n)
我知道我完全没有兴趣了,如果没有递归,这会更容易,但这对我的作业是必要的。
最佳答案
问:什么是printPattern(0)
?
A:没什么。
问:什么是printPattern(n)
,用于n>=1
?
答:*
,然后printPattern(n-1)
,然后!
。
现在你应该能做到了。记住递归思考。