圣诞节!教你用Python画棵圣诞树

作者 | 糖甜甜甜,985高校经管研二,擅长用 Python、R、tableau 等工具结合统计学和机器学习模型做数据分析。
来源 | 经管人学数据分析(ID:DAT-2017)
如何用Python画一个圣诞树呢?
最简单:
1height = 5
2
3stars = 1
4for i in range(height):
5 print((' ' * (height - i)) + ('*' * stars))
6 stars += 2
7print((' ' * height) + '|')
效果:

哈哈哈哈,总有一种骗了大家的感觉。
其实本文是想介绍Turtle库来画圣诞树。
方法一:
1import turtle
2screen = turtle.Screen()
3screen.setup(800,600)
4circle = turtle.Turtle()
5circle.shape('circle')
6circle.color('red')
7circle.speed('fastest')
8circle.up()
9square = turtle.Turtle()
10square.shape('square')
11square.color('green')
12square.speed('fastest')
13square.up()
14circle.goto(0,280)
15circle.stamp()
16k = 0
17for i in range(1, 17):
18 y = 30*i
19 for j in range(i-k):
20 x = 30*j
21 square.goto(x,-y+280)
22 square.stamp()
23 square.goto(-x,-y+280)
24 square.stamp()
25 if i % 4 == 0:
26 x = 30*(j+1)
27 circle.color('red')
28 circle.goto(-x,-y+280)
29 circle.stamp()
30 circle.goto(x,-y+280)
31 circle.stamp()
32 k += 2
33 if i % 4 == 3:
34 x = 30*(j+1)
35 circle.color('yellow')
36 circle.goto(-x,-y+280)
37 circle.stamp()
38 circle.goto(x,-y+280)
39 circle.stamp()
40square.color('brown')
41for i in range(17,20):
42 y = 30*i
43 for j in range(3):
44 x = 30*j
45 square.goto(x,-y+280)
46 square.stamp()
47 square.goto(-x,-y+280)
48 square.stamp()
49turtle.exitonclick()
效果:

方法二:
1from turtle import *
2import random
3import time
4
5n = 80.0
6
7speed("fastest")
8screensize(bg='seashell')
9left(90)
10forward(3*n)
11color("orange", "yellow")
12begin_fill()
13left(126)
14
15for i in range(5):
16 forward(n/5)
17 right(144)
18 forward(n/5)
19 left(72)
20end_fill()
21right(126)
22
23color("dark green")
24backward(n*4.8)
25def tree(d, s):
26 if d < = 0: return
27 forward(s)
28 tree(d-1, s*.8)
29 right(120)
30 tree(d-3, s*.5)
31 right(120)
32 tree(d-3, s*.5)
33 right(120)
34 backward(s)
35tree(15, n)
36backward(n/2)
37
38for i in range(200):
39 a = 200 - 400 * random.random()
40 b = 10 - 20 * random.random()
41 up()
42 forward(b)
43 left(90)
44 forward(a)
45 down()
46 if random.randint(0, 1) == 0:
47 color('tomato')
48 else:
49 color('wheat')
50 circle(2)
51 up()
52 backward(a)
53 right(90)
54 backward(b)
55time.sleep(60)
效果:

好了,我要先去画圣诞树啦~ 祝大家圣诞节快乐!!!


本文为作者投稿,版权归对方所有。
公开课预告
◆
推荐系统
◆
本次分享带你揭开个性化推荐的神秘面纱,从推荐算法到大型系统架构进行全面剖析。
添加小助手微信csdnai2,回复:推荐系统,加入课程交流群,课程回放以及PPT将在群内分享。

推荐阅读

关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 从五年规划看“中国之治” 7904587
- 2 广东汕头火灾事故遇难人数升至12人 7807940
- 3 “最快女护士”被医院警告处分 7713806
- 4 长征系列火箭一日三发 7616990
- 5 日本地震是中国制造?日本政府辟谣 7520252
- 6 上海出现“地震云”?气象专家回应 7424049
- 7 售价约20元 水银温度计平替长这样 7331981
- 8 2026年总台春晚主题、主标识发布 7237797
- 9 71岁成龙回应“龙叔老了” 7141039
- 10 冷空气南下 这些地方流感风险上升 7040794







AI100
