教你使用Python画圣诞树做浪漫的程序员
作者:网络豆 发布时间:2023-03-19 21:39:02
标签:Python,圣诞树,圣诞节
1.turtle库
turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
2.python函数的定义规则
以 def 开头,后接定义函数的名称和圆括号(),以冒号结尾
圆括号()可为空,也可以传入参数
定义函数的内容,与def有缩进关系
调用自定义的函数的基本格式为:定义函数的名称();若圆括号()为空,调用时,也为空,若若圆括号()不为空,调用时需传入参数
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
3.引入库
import turtle as t
from turtle import *
import random as r
import time
4.定义画彩灯函数
#定义画彩灯的函数
def drawlight():
if r.randint(0,30) == 0: #randint用来生成随机数
color('tomato') #颜色()
circle(6) #根据半径radius绘制extent角度的弧形
elif r.randint(0,30) == 1:
color('orange') #颜色()
circle(3)
else:
linewidth = 5 #线型
color('dark green') #颜色
5.定义画圣诞树的函数
#定义画圣诞树的函数
def tree(d,s): #定义函数 树
if d <= 0: return #返回函数的返回值
forward(s) #向前
tree(d-1, s * .8)
right(120) #方向 向右
tree(d-3, s * .5)
drawlight()
right(120)
tree(d-3, s * .5)
right(120)
backward(s) #向后
6.定义树下面小装饰的函数
#定义树下面小装饰的函数
def xzs():
for i in range(200): #范围
a = 200-400* r.random() # random模块用于生成随机数
b = 10 -20* r.random()
up()
forward(b) #向前
left(90) #左边
forward(a)
down() #向下
if r.randint(0,1) == 0:
color('tomato')
else:
color('wheat')
circle(2) #圆
up()
backward(a)
right(90)
backward(b)
7.定义一个画雪花的函数
#定义一个画雪花的函数
def drawsnow():
t.hideturtle() #这个方法是用来使Turtle隐身的。
t.pensize(2) #pensize(数字)可以设置画笔的宽度
for i in range(200):
t.pencolor("white")
t.penup()
t.setx(r.randint(-350,350)) #将当前x轴移动到指定位置
t.sety(r.randint(-100,350)) #将当前y轴移动到指定位置
t.pendown() #放下画笔
dens = 6
snowsize = r.randint(1,10) #生成随机数
for j in range(dens):
t.forward(int(snowsize))
t.backward(int(snowsize))
t.right(int(360/dens))
8.画五角星
#画五角星
for i in range(5):
forward(n/5)
right(144)
forward(n/5)
left(72)
end_fill()
right(126)
color("dark green")
backward(n * 4.8)
9.写文字
#写文字
t.color("dark red", "red")
t.write("Merry Christmas", align="center", font=("Comic Sans MS", 40, "bold"))
#写 "Merry Christmas" 使成一条直线 居中 字体 似手写的字体 40 粗体
10.全部源代码
import turtle as t
from turtle import *
import random as r
import time
#定义几个函数先
#定义画彩灯的函数
def drawlight():
if r.randint(0,30) == 0:
color('tomato')
circle(6)
elif r.randint(0,30) == 1:
color('orange')
circle(3)
else:
linewidth = 5
color('dark green')
#定义画圣诞树的函数
def tree(d,s):
if d <= 0: return
forward(s)
tree(d-1, s * .8)
right(120)
tree(d-3, s * .5)
drawlight()
right(120)
tree(d-3, s * .5)
right(120)
backward(s)
#定义树下面小装饰的函数
def xzs():
for i in range(200):
a = 200-400* r.random()
b = 10 -20* r.random()
up()
forward(b)
left(90)
forward(a)
down()
if r.randint(0,1) == 0:
color('tomato')
else:
color('wheat')
circle(2)
up()
backward(a)
right(90)
backward(b)
#定义一个画雪花的函数
def drawsnow():
t.hideturtle()
t.pensize(2)
for i in range(200):
t.pencolor("white")
t.penup()
t.setx(r.randint(-350,350))
t.sety(r.randint(-100,350))
t.pendown()
dens = 6
snowsize = r.randint(1,10)
for j in range(dens):
t.forward(int(snowsize))
t.backward(int(snowsize))
t.right(int(360/dens))
n=100.0
t.pensize(10)
speed("fastest")
t.screensize(800,600, "black")
left(90)
forward(3 * n)
color("orange", "yellow")
begin_fill()
left(126)
#画五角星
for i in range(5):
forward(n/5)
right(144)
forward(n/5)
left(72)
end_fill()
right(126)
color("dark green")
backward(n * 4.8)
#调用画树的函数
tree(15 , n)
backward(n/2)
xzs()
#写文字
t.color("dark red", "red")
t.write("Merry Christmas", align="center", font=("Comic Sans MS", 40, "bold"))
# 调用雪花函数
drawsnow()
t.done() #收笔
来源:https://blog.csdn.net/yj11290301/article/details/128239545
0
投稿
猜你喜欢
- 一、获取抖音视频连接得到如下信息: “5.1 HV:/ 守门员戴手套没法系鞋带这种体育精神,值得尊敬%遇见足球 %足球 %精彩进球 %意甲
- 你一定听说过这句著名的数据科学名言:在数据科学项目中, 80% 的时间是在做数据处理。如果你没有听过,那么请记住:数据清洗是数据科学工作流程
- 处理数据集的过程中用到了mask 但是源数据集中只给了mask顶点的坐标值,那么在python中怎么实现生成只有0、1表示的mask区域呢?
- python是很容易上手的编程语言,但是有些时候使用python编写的程序并不能保证其运行速度(例如:while 和 for),这个时候我们
- 数据可视化是任何探索性数据分析或报告的关键步骤,它可以让我们一眼就能洞察数据集。目前有许多非常好的商业智能工具,比如Tableau、goog
- 1.图片来源该图片来源于百度图片,如果侵权,请联系我删除!图片仅用于知识交流。2.读取图片并显示imread():读取图片;imshow()
- 自动签到的python脚本源码新建一个python文件,checkin.py,保存到电脑上某个位置,我这里保存到的是E:\pyproject
- 本文实例为大家分享了Python实现简单猜数字游戏的具体代码,供大家参考,具体内容如下一、需求分析编写一个猜数字游戏,游戏规则:计算机给出一
- 本文实例讲述了python从任意长度的可迭代对象中分解元素操作。分享给大家供大家参考,具体如下:从某个可迭代对象中分解出N个元素,但是可迭代
- import md5 import sys def sumfile(fobj): m = md5.new() while True: d =
- os包想要使用os包一样要先导入:import osos包下可以直接调用的函数下面介绍一下os包中可以直接调用的函数:例子:例子:例子:注意
- 项目意义如果你想在支付宝蚂蚁森林收集很多能量种树,为环境绿化出一份力量,又或者是想每天称霸微信运动排行榜装逼,却不想出门走路,那么该pyth
- 为了测试一组网页是否能够访问,采取python中的requests包进行批量的访问测试,并输出访问结果。一、requests包的安装 打开命
- 简单的header import urllib2request = urllib2.Request('http://example.
- 导言Bootstrap 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式。除此之外,内容也是足够灵活的,可以是图像、内嵌
- 其实就是利用文件“global.asa”!许多ASP编程新手都想知道这东西是什么?事实上,global.asa就是一个事件驱动程序,其中共包
- 在用户体验这个行业,经常会听到,可用性,可访问性这样专业的名词,但是,事实上在很多产品实现过程里都忽略了这一点!WHY?举个很简单的例子,用
- 美化主要表现在鼠标放到菜单上后(即鼠标悬停)的效果,这里首先介绍几个经常用到的CSS属性:backgr
- 一般的防止被框架方式或者被框架后自动转向,方法如下: if (top.location != self.loc
- 本文实例讲述了python类继承与子类实例初始化用法。分享给大家供大家参考。具体分析如下:[ 先贴参考书籍原文(中文英文对照)]__init