我在python中成功打印了一个递归金字塔模式,但我希望能够添加自定义间距,并且我在尝试中遇到了错误。
这是我的代码:
def printstack(n, indent = 0):
if n == 0:
return 'U'
else:
print(' '*(n-1) + 'U '*(indent+1))
printstack(n-1, indent+1)
示例:
>>> printstack(3)
U
U U
U U U
>>> printstack(3,1)
U U
U U U
U U U U
Expected Results
>>> printstack(3,1)
U
U U
U U U
答案 0 :(得分:2)
这似乎产生了你想要的东西,也有点简单。请注意,无关的return
已被删除。
def printstack(n, indent = 0):
if n > 0:
printstack(n-1, indent+1)
print(' ' * indent + 'U ' * n)
答案 1 :(得分:1)
def printstack(n, indent = 0,spaces=3):
if n!=0:
printstack(n-1, indent+1+spaces/2,spaces )
print(' '*indent + ('U'+' '*spaces)*n )
printstack(5,6,1)
输出:
U
U U
U U U
U U U U
U U U U U
更改空格:
printstack(5,6,3)
输出
U
U U
U U U
U U U U
U U U U U
答案 2 :(得分:1)
检查以下代码,我认为你看起来像这样 -
>>> def printstack(n, indent=0):
... if n > 0:
... printstack(n-1, indent+1)
... print(' '*indent + 'U '*n)
>>> printstack(3)
U
U U
U U U
>>> printstack(3,1)
U
U U
U U U
>>> printstack(3,2)
U
U U
U U U