Python 实现打印单词的菱形字符图案
本文介绍在 Python 中打印单词或字符组成的菱形图案的三种方法。包括基于列表推导式的简洁写法、使用 while 循环控制空格与字符数量的逻辑实现,以及利用 center 方法和 reversed 函数生成的简洁方案。每种方法均附带完整代码与运行结果,帮助开发者快速掌握 Python 基础循环与字符串处理技巧。
Python 打印菱形图案的三种实现方法
为节省篇幅,直接展示核心代码实现。
方法一:列表推导式实现
a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1]
b = [' ' * 2 * (7 - i) + 'Good' * i for i in a]
for line in b:
print(line)
程序运行结果如下:

补充知识:python打印菱形的三种方法
第一种(自己想的,有点麻烦):
方法二:while 循环控制空格与字符
rows = int(input('请输入菱形边长:\n'))
row = 1
while row <= rows:
col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数
while col <= (rows-row): # 这个内层while就是单纯打印空格
print(' ', end='') # 空格的打印不换行
col += 1
print(row * '* ') # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后print默认换行
row += 1
bottom = rows-1
while bottom > 0:
col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数
while bottom+col <= rows:
print(' ', end='') # 空格的打印不换行
col += 1
print(bottom * '* ') # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后print默认换行
bottom -= 1

第二种:

第三种(百度的) :
就是
第一行打印一个,让他在7个字符中居中
第二行打印3个,居中
第三行打印5个,居中
第四行打印7个,居中
然后倒序:
5个 3个 1个 分别居中就好了
方法三:center 与 reversed 函数结合
s = '*'
for i in range(1, 8, 2):
print((s * i).center(7))
for i in reversed(range(1, 6, 2)):
print((s * i).center(7))

以上这篇Python 实现打印单词的菱形字符图案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













