我正在尝试创建一个程序,您可以在其中输入一个数字,该程序会创建一个 + 的“christmastree”排列。例如,如果我输入数字 5,程序应该打印:
+
+++
+++++
+++++++
+++++++++
到目前为止我所拥有的是:
def holidaybush(n):
z=n-1
x=1
for i in range(0,n):
for i in range(0,z):
print('',end='')
for i in range(0,x):
print('+',end='')
for i in range(0,z):
print('',end='')
x=x*2
x=x-1
z=z-1
print()
holidaybush(5)
它并没有像我期望的那样工作,即使我经历了逻辑并且它似乎在我的脑海中工作。有什么帮助吗?我今天刚学了循环,所以我可能对它们一无所知。
原文由 Sam Procter 发布,翻译遵循 CC BY-SA 4.0 许可协议
好的,你有两个问题。首先,当你去缩进时,你写:
在 python(和其他语言)中,
''
是一个空字符串。您应该使用' '
。其次,您的
x
递增逻辑似乎是错误的。只需添加2
每个循环都可以正常工作,使您的程序:您的代码可以通过以下方式变得更紧凑:
x=x+2
替换为x+=2
range
自动从零开始,所以range(0,z)
可以替换为range(z)
for
循环替换为' ' * z
将这些结果应用于:
但您可能想坚持使用冗长的版本。