专栏首页AI科技大本营的专栏圣诞节!教你用Python画棵圣诞树

圣诞节!教你用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)

效果:

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

本文分享自微信公众号 - AI科技大本营(rgznai100)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从嘈杂视频中提取超清人声,语音增强模型PHASEN已加入微软视频服务丨AAAI 2020

    编者按:在刚刚落幕的 Ignite 大会上,微软展示了企业视频服务 Microsoft Stream 中的一项新功能——无论你在多么嘈杂的地方录制视频,Micr...

    AI科技大本营
  • 测试数据科学家聚类技术的40个问题(能力测验和答案)(上)

    介 绍 创造出具有自我学习能力的机器——人们的研究已经被这个想法推动了十几年。如果要实现这个梦想的话,无监督学习和聚类将会起到关键性作用。但是,无监督学习在带来...

    AI科技大本营
  • 解读|你并没看懂的 Google I/O 背后

    今天谷歌用TPU、TPU Pods、TensorFlow Lite轰炸了媒体圈,可你知道谷歌宣称的TPU 180TFLOP并没有那么厉害吗?TPU Pods所对...

    AI科技大本营
  • 圣诞节快乐

    首先祝大家圣诞节快乐!本公众号运营有一段时间了.这段时间里,根据大家的反馈,公众号不断的更新,不断的完善功能,现在已经不是最初的璞玉了.感谢关注本公众号的每一位...

    小闫同学啊
  • [Python]将你的module制作成

        python解释器查找module进行加载的时候,查找的目录是存放在sys.path变量中的,sys.path变量中包含文件的当前目录。如果你想使用一个...

    用户2398817
  • 人工智能太弱?能够瞬间克隆你的虚拟人来了

    “如果我的克隆人与我的孩子进行交互活动,并与他们进行对话,这将是怎样的情景呢?” 在无法兼顾生意和家庭的艰难抉择中,尼克希尔·贾恩(Nikhil Jain)向自...

    企鹅号小编
  • 选择DDOS防御的几个关键因素

    刚刚有几个客户说受到CC攻击,附带DDOS攻击,接入了CDN后,防不住,问我高防是否可以防的住?我说当然可以啦,那我们就分享下选择DDOS防御的几个关键因素是什...

    墨者盾
  • CentOS 7下KVM安装部署

    Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。...

    拓荒者
  • 腾讯敏捷协作平台TAPD获评2019软博会“优秀产品”

    腾讯TAPD再获行业大奖!6月29日晚,第二十三届中国国际软件博览会(CISE 2019)“软件之夜”盛典在北京展览馆举行,腾讯敏捷协作平台TAPD获评“优秀产...

    TAPD敏捷研发
  • 腾讯敏捷协作平台TAPD获评2019软博会“优秀产品”

    ? 腾讯TAPD再获行业大奖!6月29日晚,第二十三届中国国际软件博览会(CISE 2019)“软件之夜”盛典在北京展览馆举行,腾讯敏捷协作平台TAPD获评“...

    腾讯技术工程官方号

扫码关注云+社区

领取腾讯云代金券