Python 实现打印单词的菱形字符图案
作者:海岛Blog
这篇文章主要介绍了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打印菱形的三种方法
第一种(自己想的,有点麻烦):
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个 分别居中就好了
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 实现打印单词的菱形字符图案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。