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

2018 年 12 月 25 日 CSDN

作者 | 糖甜甜甜

责编 | 胡巍巍

如何用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(117):
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 <= 0return
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(01) == 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)

效果:

感兴趣的话就赶紧尝试一下吧!

祝大家平安夜快乐!!!圣诞节快乐!!!

作者:糖甜甜甜,985高校经管研二,擅长用Python、R、tableau等工具结合统计学和机器学习模型做数据分析。个人公众号:经管人学数据分析(ID:DAT-2017)

声明:本文为作者投稿,版权归对方所有。

End


热 文 推 荐 

 程序员怒了!阿里 Antd 圣诞彩蛋害我被离职了!

去哪儿网裁员超百人;快播王欣晒新团队合照;腾讯联想推定制浏览器 | 极客头条

 程序员面试 IT 公司,这些细节一定要注意!

☞ 程序员相亲实录:有人被小三,有人重逢初一同学

☞ 程序员求助:被领导强行要求写Bug该怎么办?网友的回答让我笑翻

☞ 20k~65k, 2018年最后一波热门技术岗位, 立刻投简历, 跳槽才是加薪的捷径

 何恺明等最新突破:视频识别快慢结合,取得人体动作AVA数据集最佳水平

 霸气!女程媛征男友的需求说明书!

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"


点击“阅读原文”,打开 CSDN App 阅读更贴心!

喜欢就点击“好看”吧!
登录查看更多
3

相关内容

商业数据分析,39页ppt
专知会员服务
160+阅读 · 2020年6月2日
简明扼要!Python教程手册,206页pdf
专知会员服务
47+阅读 · 2020年3月24日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
340+阅读 · 2020年3月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
152+阅读 · 2019年10月12日
一个牛逼的 Python 调试工具
机器学习算法与Python学习
15+阅读 · 2019年4月30日
10行代码实现目标检测,请收下这份教程
极市平台
4+阅读 · 2018年6月27日
实战 | 用Python做图像处理(三)
七月在线实验室
15+阅读 · 2018年5月29日
手把手教你用Python创建微信聊天机器人
新智元
4+阅读 · 2018年3月14日
用Python制作3D动画
Python程序员
30+阅读 · 2018年1月17日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
给程序员的10条建议,吐血推荐!
R语言中文社区
3+阅读 · 2017年12月21日
Python除了不会生孩子,其他的都会了!
全球人工智能
3+阅读 · 2017年11月9日
Python除了不会生孩子,什么都会
算法与数学之美
3+阅读 · 2017年11月8日
Object Detection in 20 Years: A Survey
Arxiv
48+阅读 · 2019年5月13日
Semantics of Data Mining Services in Cloud Computing
Arxiv
4+阅读 · 2018年10月5日
Deep Randomized Ensembles for Metric Learning
Arxiv
5+阅读 · 2018年9月4日
Few Shot Learning with Simplex
Arxiv
5+阅读 · 2018年7月27日
Arxiv
10+阅读 · 2017年12月29日
Arxiv
4+阅读 · 2017年11月4日
VIP会员
相关VIP内容
相关资讯
一个牛逼的 Python 调试工具
机器学习算法与Python学习
15+阅读 · 2019年4月30日
10行代码实现目标检测,请收下这份教程
极市平台
4+阅读 · 2018年6月27日
实战 | 用Python做图像处理(三)
七月在线实验室
15+阅读 · 2018年5月29日
手把手教你用Python创建微信聊天机器人
新智元
4+阅读 · 2018年3月14日
用Python制作3D动画
Python程序员
30+阅读 · 2018年1月17日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
给程序员的10条建议,吐血推荐!
R语言中文社区
3+阅读 · 2017年12月21日
Python除了不会生孩子,其他的都会了!
全球人工智能
3+阅读 · 2017年11月9日
Python除了不会生孩子,什么都会
算法与数学之美
3+阅读 · 2017年11月8日
相关论文
Object Detection in 20 Years: A Survey
Arxiv
48+阅读 · 2019年5月13日
Semantics of Data Mining Services in Cloud Computing
Arxiv
4+阅读 · 2018年10月5日
Deep Randomized Ensembles for Metric Learning
Arxiv
5+阅读 · 2018年9月4日
Few Shot Learning with Simplex
Arxiv
5+阅读 · 2018年7月27日
Arxiv
10+阅读 · 2017年12月29日
Arxiv
4+阅读 · 2017年11月4日
Top
微信扫码咨询专知VIP会员