题目:
不允许使用居中的功能
通过循环,完成菱形的输出
主要考查,循环知识,和简单的规纳算法能力
需求为:
用户输入一个数
生成一个对应行数的对称的菱形
代码展示:
# 打印菱形图案(1)
n=eval(input("请输入行数:"))
if n % 2: # n为奇数
t = 2 * (n // 2) #每一行前置空格与行数n的函数关系(找规律)
for i in range(1, (n // 2) + 2): #循环输出上半部分正三角形
print(" " * t + "* " * i, end="")
t -= 2 #下一行的前置空格数减2
print() #换行,然后接着下面打印下半部分
t = 2
for j in range(n // 2, 0, -1): #循环输出下半部分三角形
print(" " * t + "* " * j, end="")
t += 2 #下一行的前置空格数加2
print()
else: # n为偶数,偶数与奇数情况不同
t = 2 * (n // 2 - 1)
for i in range(1, n // 2 + 1):
print(" " * t + "* " * i, end="")
t -= 2
print()
t = 0
for j in range(n // 2, 0, -1):
print(" " * t + "* " * j, end="")
t += 2
print()
运行结果: