有一個最終想製作的圖形,三層樹:
*
***
*****
*
***
*****
*
***
*****
***
***
***
python3:
global k
for a in range(3):
k=1
for i in range(3):
j=i+1 #為了印空格
for l in range(3-j):
print(" ",end='')
for m in range(k):
print("*",end='') #印樹葉
print()
k+=2
for b in range(3):
print(" ", end='')
for c in range(3):
print("*",end='') #印樹幹
print()
希望若有更簡短的方法請不吝分享
不是最簡短。也不會是最好。但還是可以分享討論的。
我的代碼如下:
# width 為樹寬度 height 為樹高度 width = 5 height = 3 leaf = [star for star in [(" " * (width - i)) + ("*" * ((i*2)+1)) for i in range(width)]]*height tree = [(width-(width//2))*" " + width*"*" for x in range(width)] leaf.extend(tree) for i in leaf: print(i)
我個人是建議樹的大小盡量用變數別寫死。樹幹部分可以改用自適應置中。width只要是奇數就可以實現置中。給你參考~