一、题目:
不允许使用居中的功能
通过循环,完成菱形的输出
主要考查,循环知识,和简单的规纳算法能力
二、要求
奇数行、偶数行效果不同
每个 * 之间只有一个空格
输入一个数,返回对应行数的对称的菱形
展示:
#打印菱形图案(2)
def print_lozenge(n):
if n % 2: # n为奇数
t = 2 * (n // 2)
for i in range(1, (n // 2) + 2):
print(" " * t + "* " * (i * 2 - 1), end="")
t -= 2
print()
t = 2
for j in range(n // 2, 0, -1):
print(" " * t + "* " * (n - 2), end="")
t += 2
n -= 2
print()
else: # n为偶数
t = 2 * (n // 2 - 1)
for i in range(1, n // 2 + 1):
print(" " * t + "* " * (i * 2 - 1), end="")
t -= 2
print()
t = 0
for j in range(n // 2, 0, -1):
print(" " * t + "* " * (n - 1), end="")
t += 2
n -= 2
print()
if __name__ == '__main__':
print_lozenge(eval(input("请输入行数:")))