代码如下(带详细注释)

#from xx import*可直接调用xx模块中的函数,因为已经知道该函数是哪个模块中的了
#import导入模块,每次使用模块中的函数都是要定那个模块
#为避免名称冲突,一般都使用import
from turtle import *
import random
import timen = 100.0#设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快
speed(10)#设置画布大小screen(canvwidth,canvheight,bg),
#若不设置值,默认参数为(400,300,None),bg为背景颜色
screensize(bg='seashell')#设置画笔粗细
pensize(1)#逆时针旋转90°,类似极坐标
left(90)#向当前画笔方向移动3*n像素长度,树干出来了
forward(3*n)#pencolor=orange,fillcolor=yellow,铅笔颜色是橙色,填充色是黄色
color("orange", "yellow")#开始填充图形
begin_fill()#画笔方向由当前方向逆时针旋转126°=54°+72°
left(126)#画五角星
#循环五次
for i in range(5):#向当前画笔方向移动n/5像素长度forward(n / 5)#顺时针旋转144°=180°-36°right(144)#向当前画笔方向移动n/5像素长度forward(n / 5)#逆时针旋转72°,到此画出了一个角left(72)#填充完成,五角星结束
end_fill()#顺时针旋转126°=72°+54°,方向竖直向上
right(126)#画笔颜色变为red
color("red")#向当前画笔方向反向(即竖直向下)移动n*4.8的像素长度
#加长了树干,并覆盖掉原有颜色
backward(n * 4.8)#颜色变为dark green,可以更好观察画笔移动情况
color("dark green")#自定义函数,传入d和s
def tree(d, s):#如果d小于或等于0,则结束if d <= 0: return#向当前方向前进s像素长度forward(s)color("black")#递归调用tree(d - 1, s * .8)color("red")right(120)tree(d - 3, s * .5)color("blue")right(120)tree(d - 3, s * .5)color("green")right(120)backward(s)color("orange")tree(15, n)
#绿色部分结束#函数调用结束后,换成黄色
color("yellow")#向与当前方向相反的方向移动n/2像素长度
backward(n / 2)#调用随机模块中的函数,实现叶子飘落在地上,循环200次
for i in range(200):##random.random()是指随机生成(0,1)之间的浮点数#水平方向a取[-200,200]a = 200 - 400 * random.random()#竖直方向b取[-10,10]b = 10 - 20 * random.random()up()forward(b)left(90)forward(a)down()#随机选择颜色##random.randint(上限,下限),随机生成在范围之内的整数,两个参数分别表示上限和下限##randint为random模块下的函数,在0和1之间产生随机数if random.randint(0, 1) == 0:#如果随机数为0,则颜色为tomatocolor('tomato')else:#否则颜色为wheatcolor('wheat')#每次画两个圈circle(2)#即penup,提起笔移动,不绘制图形,用于另起一个地方绘制up()backward(a)right(90)backward(b)#本循环的最后一个语句#测试一下sleep函数功能,为何要sleep呢?
##print ("Start : %s" % time.ctime())
#推迟线程的运行?单位为s
time.sleep(60)
##print ("End : %s" % time.ctime())

运行结果如下图

代码是在网上找的,注释是自己写的,代码为了更好观察略有改动。使用sleep的目的, 我还暂时不清楚,如果有小伙伴知道,欢迎在【评论区】告诉我啊。

如需转载请注明出处。

用python的turtle库画圣诞树相关推荐

  1. 《Turtle绘图》Python用Turtle库绘制圣诞树、圣诞节考研祝福礼物

    Python用Turtle库绘制圣诞树.圣诞节考研祝福礼物 当圣诞节遇上考研.遇上海龟绘图,于是有了本文的内容.圣诞节是固定的12月25日,而考研是12月底的某个周末.能不能用Python制作一个祝福 ...

  2. 用python的Turtle库画一个笑脸

    用python的Turtle库画一个笑脸 最近刚了解到python的turtle库,就简单的尝试一下,画一个笑脸. 效果图: 效果图看起来和原图的差别还是有点大,但是没关系,这只是一个尝试而已. 附上 ...

  3. 使用python的turtle库画表情包

    使用python的turtle库画表情包 话不多说,先上效果图,然后是代码 代码如下: import turtleturtle.penup() turtle.goto(-80,20) turtle.c ...

  4. python的turtle库画乔治

    分享一个用python的turtle库画乔治 链接:https://pan.baidu.com/s/1rIAZXGWIyk6zbDv5jlwv2g 提取码:rv6v 复制这段内容后打开百度网盘手机Ap ...

  5. 用Python的turtle库画一颗简单的树(双层递归的思想)

    用Python的turtle库画一颗简单的树(双层递归的思想) 这段时间比较闲,在CSDN上随便逛逛,看到有些用Python来绘图的程序,很有意思.于是作为Python小白的我,也自己动手尝试了一下, ...

  6. python的turtle库画一只小狐狸

    python的turtle库画一只小狐狸 from turtle import * setup(700,600,450,100)#标题输出 pensize(2) pencolor(0,0,0) pen ...

  7. 利用Python的turtle库画自行车

    利用Python的turtle库画自行车 前言 前言总得说点什么.疫情在家,慕课上学习北理工嵩天等老师的<python语言程序设计>[1],觉得turtle画图,挺有意思,既然骑不了自行车 ...

  8. 用python的turtle库画一个小猪佩奇

    小猪佩奇是一个可爱的小猪.她已经四岁了,与她的妈妈,爸爸,和弟弟乔治生活在一起.佩奇最喜欢做的事情是玩游戏,打扮的漂亮,度假,以及在小泥坑里快乐的跳上跳下和与小羊苏西(她最好的朋友)乔治(她的弟弟)一 ...

  9. 利用python的turtle库画一个图形

    今天我们用python的turtle库制作一个简单的图形(新手必看) [注:turtle是python的标准自带库,无需安装!] 好的废话不多说我们开始写代码 #制作人:中将 #一起自学python ...

  10. 用Python的turtle库画太极图

    作为一名中医药大学的学生,对太极图那是情有独钟,这不,我刚开始学Python不久,便想着用turtle库画一个太极图,对turtle库的使用还不熟练,代码量可能有点多-- 后来又尝试了让太极转动起来: ...

最新文章

  1. openstack M 版 neutron网络组件基础入门
  2. 动态规划 BZOJ1584 [Usaco2009 Mar] Cleaning Up 打扫卫生
  3. AndroidOS体系结构
  4. Android.对话框(AlertDialog/Toast/Snackbar)
  5. apache 禁止trace或track防止xss***
  6. android系统(8)---android事件分发机制
  7. 21天战拖记——Day6:复习阶段性完成!(2014-05-09)
  8. 培养用户习惯才是软件的唯一出路!
  9. 拓端tecdat:R语言梯度提升机 GBM、支持向量机SVM、正则判别分析RDA模型训练、参数调优化和性能比较可视化分析声纳数据
  10. vs2015安装msdn_visual studio 2015离线版msdn下载和安装图文教程
  11. delphi对比易语言_易语言转换delphi 易语言编程100例
  12. 两道图片隐写的CTF题
  13. 【数字图像处理】直方图规定化(含实现代码)
  14. java定时任务 cron
  15. Jmeter测试脚本编写详解(配详图)
  16. 面试热问——你的职业规划是什么?
  17. zabbix 报警 Lack of free swap space on Zabbix server 处理
  18. 图灵机跟现实电子计算机哪个计算能力强,计算机不是只会“计算”,图灵机也不是一台“机器”|AI那厮...
  19. 8.认识robots.txt到爬取信息
  20. 奥维互动地图GEE协议历史影像分析与应用

热门文章

  1. Julia : 正则表达式
  2. 所谓高手,就是把自己活成了贝叶斯定理
  3. (转)深度学习是经验主义新高峰,不是理性主义终结
  4. Julia: h5write ,h5read 与ASCIIString、Float64及效率比较
  5. CTP: 11:31分等非交易时段报单录入的应对
  6. OpenStack创业“五虎将”分化
  7. Linux宝库名人轶事栏目 | 开源与茶
  8. 循环神经网络 递归神经网络_递归神经网络-第3部分
  9. 什么舱位_飞机的舱位究竟是怎么一回事儿
  10. Ubuntu16.04安装VSCode