跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Python编程 圣诞树教程 (附代码)程序员的浪漫

作者简介:一名云计算人员、每天分享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 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() #收笔 创作不易,求关注,点赞,收藏,谢谢~

相关文章