这是我的代码,第一行总是空白,导致边数总比预计的少一
a=eval(input())
x=(a+1)/2
x=int(x)
for i in range(x):
b="*"*(2*i-1)
c=" "*(x-i)
print("{}{}{}".format(c,b,c))
a=eval(input())
x=(a+1)/2
x=int(x)
for i in range(x):
b="*"*(2*i-1)
c=" "*(x-i)
print("{}{}{}".format(c,b,c))
i循环是从0开始的, 第一次循环i是0 (2*i-1) 结果是-1
改成 for i in range(1,x+1):从1开始循环即可
你题目的解答代码如下:
a=eval(input())
x=(a+1)/2
x=int(x)
for i in range(1,x+1):
b="*"*(2*i-1)
c=" "*(x-i)
print("{}{}{}".format(c,b,c))
如有帮助,望采纳!谢谢!