画个圣诞树

 1 # 画树
 2 # 程序运行结果图:
 3 # 这个树有多高?:12
 4 #             #
 5 #            ###
 6 #           #####
 7 #          #######
 8 #         #########
 9 #        ###########
10 #       #############
11 #      ###############
12 #     #################
13 #    ###################
14 #   #####################
15 #  #######################
16 #             #
17 
18 # 程序部分
19 
20 # 获取树冠的层数
21 long = int(input('这个树有多高?:'))
22 # 为最后一行树干做预留的变量
23 butt = long
24 # 初始#号数量
25 hashes = 1
26 
27 # 开始循环
28 while long > 0:
29     # 第一层的空格等于树冠的层数,之后依次递减,因此用循环输出n个空格。
30     for i in range(0, long):
31         # 由于输出要求为单行输出,所以指定print()的结束符为'' , 而不是默认的换行。
32         print(' ', end='')
33 
34     # 输出过空格后,输出当前层的#号, 第一层为1个,之后每层递增2.
35     for j in range(0, hashes):
36         print('#', end='')
37     # 由于上一个for循环指定了结束符为'', 在这里需要加一个换行输出
38     print('')
39     # 完成一层输出后,变量赋值,层数递减1,#号递增2.
40     long = long - 1
41     hashes = hashes + 2
42 
43 # 完成树冠输出后,输出树干部分。树干部分和树冠的第一层是一样的。
44 # 这是只输出一个#作为树干的代码。
45 # for i in range(0, butt):
46 #     print(' ', end='')
47 # print('#')
48 
49 # 这一块加点东西,根据树冠的层数,来决定树干的长度,如果小于10层,那么树干是1个#
50 if butt < 10:
51     for i in range(0, butt):
52         print(' ', end='')
53     print('#')
54 else:
55     # 如果树冠高于10层,那么树干高度= 树冠高度/4 + 树冠高度与3取模。
56     ss = ((butt // 4) + (butt % 3))
57     while ss > 0:
58         for j in range(0, butt):
59             print(' ', end='')
60         print('#')
61         ss = ss - 1

猜你喜欢

转载自www.cnblogs.com/konggg/p/9188219.html