求Python高手~印出聖誕樹圖形能否用迴圈達到?

我要用Python畫一個聖誕樹圖形

印出來大概這樣

    *
   ***
  *****
*********
    **
  *****
*********
     **
     **
     **



我是這樣印的

print(" "*4+"*"*1)
print(" "*3+"*"*3)
print(" "*2+"*"*5)
print(" "*0+"*"*9)
print(" "*3+"*"*2)
print(" "*2+"*"*5)
print(" "*0+"*"*9)
print(" "*3+"*"*2)
print(" "*3+"*"*2)
print(" "*3+"*"*2)


但是用迴圈好像比較省事

能否用迴圈印出此圖形呢?
只要用中線減去寬度的一半就是所需的空白數了。當然,在樹幹的星星個數為偶數而數葉的星星個數為奇數的情況下要讓樹幹和樹葉完全置中對齊是不可能的。

  1. tree = [1, 3, 5, 9, 2, 5, 9, 2, 2, 2]
  2. for n in tree:
  3.     print ' ' * int(float(max(tree) - n) / 2) + '*' * n

文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!