Python 實現列印單詞的菱形字元圖案
阿新 • • 發佈:2020-04-13
我就廢話不多說了,還是直接看程式碼吧!
a = [1,2,3,4,5,6,7,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,2)): print((s * i).center(7))
以上這篇Python 實現列印單詞的菱形字元圖案就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。