6. 图形打印
利用嵌套循环和字符串乘法,可以打印各种图形。这是练习循环控制的经典方式。
直角三角形
python
# 输出直角三角形
# *
# ***
# *****
# *******
# *********
n = int(input("请输入直角三角形的行数:"))
for i in range(1, 2 * n, 2): # 1, 3, 5, 7, ...
print("*" * i)
📝 样例输入:
输入
5
▶ 运行结果:
输出
请输入直角三角形的行数:5
*
***
*****
*******
*********
等腰三角形
python
# *
# ***
# *****
# *******
# *********
# 利用 f-string 居中对齐
n = int(input("请输入三角形的行数:"))
for i in range(1, n + 1):
print(f"{(i * 2 - 1) * '*':^{2 * n - 1}}")
📝 样例输入:
输入
5
▶ 运行结果:
输出
请输入三角形的行数:5
*
***
*****
*******
*********
💡 f-string 居中对齐
f"{'text':^{width}}" 表示将文本在指定宽度内居中。这是 Python 3.6+ 的简洁写法,替代了传统的嵌套循环 + 空格打印。
菱形
python
# *
# ***
# *****
# ***
# *
# 上半部分 + 下半部分
n = int(input("请输入菱形的行数(奇数):"))
n = n // 2 + 1 # 取上半部分行数
# 上半部分(递增)
for i in range(1, n + 1):
print(f"{(i * 2 - 1) * '*':^{2 * n - 1}}")
# 下半部分(递减)
for j in range(n - 1, 0, -1):
print(f"{(j * 2 - 1) * '*':^{2 * n - 1}}")
📝 样例输入:
输入
5
▶ 运行结果:
输出
请输入菱形的行数(奇数):5
*
***
*****
***
*