我正在做一个Python项目,打印出由星号(*)创建的山、三角形和沙漏。下面是我当前使用的代码,它正确地打印出了山,但是三角形和沙漏在每一行上都有一个额外的空间,尽管while循环的第一次迭代乘以零。在
oddn = int(input("Enter an odd number width: "))
oddn2 = oddn
oddn3 = oddn
x = 1
y = 1
z = 1
h = 1
g = 0
print("Hill:")
while oddn >= x:
print("*" * x )
x = x+2
print("Triangle:")
while (oddn * 7)+10 >= y:
ynum = int(oddn/2)
print(" " * ynum,"*" * y)
y = y + 2
oddn = oddn - 2
print("Hourglass:")
while oddn2 >= z:
print(" " * g,"*" * oddn2)
oddn2 = oddn2-2
g = g + 1
while (oddn3 * 7)+10 >= h:
ynum2 = int(oddn3/2)
print(" " * ynum2,"*" * h)
h = h + 2
oddn3 = oddn3 - 2
当前结果如下所示。在
^{pr2}$所以,从结果可以看出。山的左边没有多余的空间,但是三角形和沙漏有。这可能只是我逻辑上的一个错误,但我已经试着改正了,还没有找到答案。任何帮助将不胜感激!在
Python在术语之间插入空格(这是
print
的默认值)你可以用
^{pr2}$或者连接字符串
相关问题 更多 >
编程相关推荐