我正在尝试创建一个程序,在其中输入一个数字,程序将创建一个“+”的“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)
它并不像我所期望的那样工作,即使我经过逻辑,它似乎在我的头脑中工作。有什么帮助吗?我今天刚学会了循环,所以我可能不知道关于它们的一切。
您可以使用
string.center()
,只是为了添加另一个解决方案,这使代码更加紧凑:这个怎么样:
好吧,你有两个问题。首先,当你去做缩进时,你要写:
在python(和其他语言)中,
''
是一个空字符串。你应该使用' '
。其次,您的
x
递增逻辑似乎是错误的。只需添加2
每个循环就可以正常工作,使您的程序:您的代码可以通过以下方式变得更紧凑:
x=x+2
替换为x+=2
range
自动从零开始,因此range(0,z)
可以替换为range(z)
' ' * z
替换内部的for
循环将这些结果应用于:
但你可能想坚持冗长的版本。
相关问题 更多 >
编程相关推荐