作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。
座右铭:低头赶路,敬事如仪
个人主页:网络豆的主页
目录
前言
一.python 做圣诞树
1.turtle库
2.python函数的定义规则
2.引入库
3.定义画彩灯函数
4.定义画圣诞树的函数
5.定义树下面小装饰的函数
6.定义一个画雪花的函数
7.画五角星
8.写文字
9.全部源代码
前言
本章将会讲解Python编程 实现圣诞树效果!
一.python 做圣诞树
1.turtle库
turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
2.python函数的定义规则
- (1)以 def 开头,后接定义函数的名称和圆括号(),以冒号结尾
- (2)圆括号()可为空,也可以传入参数
- (3)定义函数的内容,与def有缩进关系
- (4)调用自定义的函数的基本格式为:定义函数的名称();若圆括号()为空,调用时,也为空,若若圆括号()不为空,调用时需传入参数
- (5)return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
3.引入库
import turtle astfrom turtle import *import random as rimporttime
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.定义树下面小装饰的函数
#定义树下面小装饰的函数defxzs():for i in range(200):#范围a = 200-400* r.random() # random模块用于生成随机数b = 10 -20* r.random()up()forward(b)#向前left(90)#左边forward(a)down()#向下ifr.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 = 6snowsize = 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 astfrom turtle import *import random as rimporttime#定义几个函数先#定义画彩灯的函数def drawlight():if r.randint(0,30) == 0:color('tomato')circle(6)elif r.randint(0,30) == 1:color('orange')circle(3)else:linewidth = 5color('dark green')#定义画圣诞树的函数def tree(d,s):if d <= 0:returnforward(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)#定义树下面小装饰的函数defxzs():for i in range(200):a = 200-400* r.random()b = 10 -20* r.random()up()forward(b)left(90)forward(a)down()ifr.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 = 6snowsize = r.randint(1,10)for j in range(dens):t.forward(int(snowsize))t.backward(int(snowsize))t.right(int(360/dens))n=100.0t.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()#收笔
创作不易,求关注,点赞,收藏,谢谢~