闲来没事用Python写了一个打印菱形的小程序,不早了准备睡觉
############################实心菱形################################
line = int(input("菱形行数:"))
if not (line & 1):
line += 1
l = line // 2
for i in range(-l,l+1):
print(" " * abs(i) + "*" * ( line-abs( 2 * i )) )
#############################空心菱形##############################
line = int(input("空菱形行数:"))
if not (line & 1):
line += 1
l = line // 2
for i in range(-l,l+1):
if abs(i)==l:
print(" " * abs(i) + "*")
else:
print(" " * abs(i) + "*" + " " * ( line-abs( 2 * i )-2) + "*" )
#############################闪电型##############################
#方法一
line = int(input("闪电形行数:"))
if not (line & 1):
line += 1
l = line // 2
for i in range(-l,l+1):
if i < 0:
print(" " * abs(i) + "*" * (line-l+i) )
elif i > 0:
print(" " * (l) + "*" * (line-l-i) )
else:
print("*"*line)
#方法二
line = int(input("闪电形行数:"))
if not (line & 1):
line += 1
l = line // 2
for i in range(-l,l+1):
if i < 0:
ss="*" * (line-l+i)
print("{:>{}}".format(ss,l+1) )
elif i > 0:
ss="*" * (line-l-i)
print("{:{}}{}".format(" ",l,ss))
else:
print("*"*line)
#############################空心闪电型##############################
#ret = 'true' if 1==2 else 'false'
#print(ret) --> false
line = int(input("空心闪电形行数:"))
if not (line & 1):
line += 1
l = line // 2
for i in range(-l,l+1):
if i < 0:
ss = "*" + " " * (line-l+i-2) + "*" if i != -l else "*"
print("{:>{}}".format(ss,l+1) )
elif i > 0:
ss = "*" + " " * (line-l-i-2) + "*" if i != l else "*"
print("{:{}}{}".format(" ",l,ss))
else:
print("*"*line)