首页 > Python资料 博客日记
Python编程 圣诞树教程 (附代码)程序员的浪漫
2024-03-05 05:00:04Python资料围观577次
这篇文章介绍了Python编程 圣诞树教程 (附代码)程序员的浪漫,分享给大家做个参考,收藏Python资料网收获更多编程知识
作者简介:一名云计算人员、每天分享Python和云计算的学习经验、和学习笔记。
座右铭:低头赶路,敬事如仪
个人主页:网络豆的主页
目录
前言
本章将会讲解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() #收笔
创作不易,求关注,点赞,收藏,谢谢~
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 华为OD机试E卷 --流浪地球--24年OD统一考试(Java & JS & Python & C & C++)
- Python 3.7-3.11版本dlib库快速安装指南
- python 更换pip源
- 华为OD机试E卷 --恢复数字序列--24年OD统一考试(Java & JS & Python & C & C++)
- 华为OD机试E卷 --选修课--24年OD统一考试(Java & JS & Python & C & C++)
- python SQLAlchemy ORM——从零开始学习 01 安装库
- Python 入门教程(2)搭建环境 | 2.3、VSCode配置Python开发环境
- Django 3 Web应用开发实战PDF、EPUB免费下载
- Python的元组和字典知识点(超详细教学)
- 小波变换算法详解(附Python和C++代码)
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程