畫個聖誕樹

2022-08-21 23:42:14 字數 1620 閱讀 2098

1#畫樹

2#程式執行結果圖:3#

這個樹有多高?:124#

#5####6#

#####7#

#######8#

#########9#

###########10#

#############11#

###############12#

#################13#

###################14#

#####################15#

#######################16#

#1718#

程式部分

1920

#獲取樹冠的層數

21 long = int(input('

這個樹有多高?:'))

22#為最後一行樹幹做預留的變數

23 butt =long24#

初始#號數量

25 hashes = 1

2627

#開始迴圈

28while long >0:29#

第一層的空格等於樹冠的層數,之後依次遞減,因此用迴圈輸出n個空格。

30for i in

range(0, long):31#

由於輸出要求為單行輸出,所以指定print()的結束符為'' , 而不是預設的換行。

32print('

', end='')33

34#輸出過空格後,輸出當前層的#號, 第一層為1個,之後每層遞增2.

35for j in

range(0, hashes):

36print('

#', end='')37

#由於上乙個for迴圈指定了結束符為'', 在這裡需要加乙個換行輸出

38print('')39

#完成一層輸出後,變數賦值,層數遞減1,#號遞增2.

40 long = long - 1

41 hashes = hashes + 2

4243

#完成樹冠輸出後,輸出樹幹部分。樹幹部分和樹冠的第一層是一樣的。44#

這是只輸出乙個#作為樹幹的**。45#

for i in range(0, butt):46#

print(' ', end='')47#

print('#')

4849

#這一塊加點東西,根據樹冠的層數,來決定樹幹的長度,如果小於10層,那麼樹幹是1個#

50if butt < 10:

51for i in

range(0, butt):

52print('

', end='')53

print('#'

)54else:55

#如果樹冠高於10層,那麼樹幹高度= 樹冠高度/4 + 樹冠高度與3取模。

56 ss = ((butt // 4) + (butt % 3))

57while ss >0:

58for j in

range(0, butt):

59print('

', end='')60

print('#'

)61 ss = ss - 1

聖誕樹繪製程式

注 此篇文章要寫的聖誕樹程式,參考於csdn博主badao liumang qizhi的 python實現使用turtle繪製聖誕樹 一文。在此程式裡需要用到的庫有 turtle random time。from turtle import 調畫布 import random 使用隨機數模組 imp...

送你一朵聖誕樹

貪心解決。這種考慮前後順序的題目的常見做法是前後比較將優先順序排序,再用並查集輔助合併。善用stl 如果要維護乙個堆的話,可以用set,最方便,stl的heap太麻煩,優先佇列可能被卡。注意,set中如果自定義了比較函式 還是比較複雜的那種,如本題的貪心 那麼set.find 很有可能re 不是找不...

如何用C語言畫乙個聖誕樹?

我使用了左右映象的sierpinski 每層減去上方一小塊,再用符號點綴。可生成不同層數的 聖誕樹 如下圖是5層的結果。基本 來自sierpinski 的實現,字元的想法來自於code golf draw a sierpinski 更新1 上面的是我嘗試盡量用最少 來畫乙個抽象一點的聖誕樹,因此樹幹...