该示例将使用 for 循环打印正三角和倒三角形。
正三角形 = 空格递减 + 星号递增
行数控制 rows = 5 表示打印 5 行。
空格规律
第 0 行:4 个空格
第 1 行:3 个空格
……
第 4 行:0 个空格公式:空格数 = rows - i - 1
星号规律
第 0 行:1 个
第 1 行:3 个
第 2 行:5 个公式:星号数 = 2 * i + 1
倒三角形 = 空格递增 + 星号递减
空格规律
第 0 行:0 个
第 1 行:1 个
第 2 行:2 个公式:空格数 = i
星号规律
第 0 行:9 个
第 1 行:7 个
第 2 行:5 个公式:星号数 = 2*(rows - i) - 1
示例代码:
# 1. 打印正三角形(金字塔形)
print("正三角形:")
# 控制三角形的行数
rows = 5
for i in range(rows):
# 打印前置空格:每行递减,让星号居中
# 第 i 行,需要打印 rows - i - 1 个空格
print(" " * (rows - i - 1), end="")
# 打印星号:每行 2*i+1 个
# 第0行1个,第1行3个,第2行5个……
print("*" * (2 * i + 1))
# 2. 打印倒三角形
print("\n倒三角形:")
rows = 5
for i in range(rows):
# 打印前置空格:每行递增
print(" " * i, end="")
# 打印星号:每行递减 2 个
# 第0行 2*rows-1 个,之后依次 -2
print("*" * (2 * (rows - i) - 1))运行结果:
正三角形:
*
***
*****
*******
*********
倒三角形:
*********
*******
*****
***
*