我正在用Python中的模式做一个练习,我为n=5做了一个沙漏模式,但是当我尝试使用其他奇数,例如n
==7时,它被破坏了。对如何升级我的代码有什么建议吗
def hourglass(num_of_rows):
#upper piece
for i in range(num_of_rows-(num_of_rows//2)):
print(' '*i+ character*(num_of_rows-2*i))
#lower piece without the middle one
for j in range(num_of_rows-1-(num_of_rows//2), -1, -2):
print(' '*(j-1) +character*(num_of_rows-j))
num_of_rows=5
character = 'x'
hourglass(num_of_rows)
并不是对您所做的工作进行精确升级,您可以使用递归来获得所需的内容。但是,如果
n
是偶数,这将不起作用,我不知道偶数的计时玻璃将如何,如果您指定,我可以相应地更改它str.center
可以用于填充,而无需进行任何计算。如果需要任何解释,请告诉我输出
相关问题 更多 >
编程相关推荐