1. 程式人生 > 程式設計 >Python 實現列印單詞的菱形字元圖案

Python 實現列印單詞的菱形字元圖案

我就廢話不多說了,還是直接看程式碼吧!

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 實現列印單詞的菱形字元圖案

補充知識: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

Python 實現列印單詞的菱形字元圖案

第二種:

Python 實現列印單詞的菱形字元圖案

第三種(百度的) :

就是

第一行列印一個,讓他在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 實現列印單詞的菱形字元圖案

以上這篇Python 實現列印單詞的菱形字元圖案就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。