python输出空心菱形
如下图所示,需要输出的是如下的菱形,记录其行列:
观察其规律,列出行列规律:
根据规律编写代码:
满足以上两表中的行列关系则输出*,否则输出空格。
def print_photo2(): # 打印空心菱形
n = 5 # 上部分
# 外层循环要控制行数,n=5是上半部分的行数
# range函数是含前不含后,即range(1,6)为1-5
for i in range(1, n + 1):
for j in range(1, (n + i - 1) + 1):
if j == n + 1 - i or j == n - 1 + i: # 不符合他们的行列关系就部署粗*
print('* ', end='')
else:
print(" ", end='')
print('')
# 打印下半部分
# 下面行数为4 比n少一行
for i in range(1, n): # range(1,5)即为1-4
for j in range(1, (2 * n - 1 - i) + 1):
if j == i + 1 or j == 2 * n - 1 - i:
print('* ', end='')
else:
print(" ", end='')
print('')
if __name__ == '__main__':
print_photo2()
运行结果截图: