控制台输入奇数,生成奇数行的菱形;输入偶数,重新输入;输入end,退出
初学python,感觉写的跟赘余,不过好在实现了,如果有更简单的方法请务必跟我分享一下orz
f = 0
while 1:
if f == 1:
break
a = i = 1
d = 0
b = '*'
c = ''
x = input("please enter an odd number:")
if x == 'end':
break
while 0 < a <= int(x):
while 1:
# 检验输入数字是否合规
if int(x) % 2 == 0:
print("do not enter an even number, please re-enter!")
x = input("please enter an odd number:")
if x == 'end':
f = 1
break
while 0 < a <= int(x):
c = c + b
a -= 1
i += 1
e = "^"+str(int(x))+""
print(format(c, e))
break
if f == 1:
break
if d == 0:
a = (i * 2) - 1
c = ''
if a == int(x):
d = 1
else:
a = int(x) - (i - (int(x)+1)/2) * 2
c = ''
2024.3.17 今天新学了字符串,现在只用8行就可以搞定:
a = input("please enter the number of floors of '*' tower:")
b = 0
while b <= int(a):
print("{:^%}".replace("%",str(2 * int(a) - 1)).format("*" * (2 * b - 1)))
b += 1
while 2 < b < int(a)+2:
print("{:^%}".replace("%", str(2 * int(a) - 1)).format("*" * (2 * b - 5)))
b -= 1