Python实战——自动生成情人节对女朋友表白玫瑰花、爱心,以及用Python画一颗樱花树,愿武汉繁花与共!
2021-02-06 14:55
896 查看
3月将至,马上又到了樱花盛开的季节,今天的技能帖想教大家用Python绘制绘制一棵樱花树,将它送给身在武汉,或想去武汉的小伙伴,当樱花未开时,我们在线共赏樱,当樱花盛开时,我们相约珞珈山下!
希望如约而至的不止樱花,还有疫情过后平安的你!
以下使用的工具就是:
开发环境:Python3 + win10
开发工具:pycharm
出现的效果图:
源代码:
import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): time.sleep(0.0005) if branch > 3: if 8 <= branch <= 12: if random.randint(0, 2) == 0: t.color('snow') # 白 else: t.color('lightcoral') # 淡珊瑚色 t.pensize(branch / 3) elif branch < 8: if random.randint(0, 1) == 0: t.color('snow') else: t.color('lightcoral') # 淡珊瑚色 t.pensize(branch / 2) else: t.color('sienna') # 赭(zhě)色 t.pensize(branch / 10) # 6 t.forward(branch) a = 1.5 * random.random() t.right(20 * a) b = 1.5 * random.random() Tree(branch - 10 * b, t) t.left(40 * a) Tree(branch - 10 * b, t) t.right(20 * a) t.up() t.backward(branch) t.down() # 掉落的花瓣 def Petal(m, t): for i in range(m): a = 200 - 400 * random.random() b = 10 - 20 * random.random() t.up() t.forward(b) t.left(90) t.forward(a) t.down() t.color('lightcoral') # 淡珊瑚色 t.circle(1) t.up() t.backward(a) t.right(90) t.backward(b) # 绘图区域 t = T.Turtle() # 画布大小 w = T.Screen() t.hideturtle() # 隐藏画笔 t.getscreen().tracer(5, 0) w.screensize(bg='wheat') # wheat小麦 t.left(90) t.up() t.backward(150) t.down() t.color('sienna') # 画樱花的躯干 Tree(60, t) # 掉落的花瓣 Petal(200, t) w.exitonclick()
表白代码2
效果图:
源码:
from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) down() def big_Circle(size): #函数用于绘制心的大圆 speed(1) for i in range(150): forward(size) right(0.3) def small_Circle(size): #函数用于绘制心的小圆 speed(1) for i in range(210): forward(size) right(0.786) def line(size): speed(1) forward(51*size) def heart( x, y, size): go_to(x, y) left(150) begin_fill() line(size) big_Circle(size) small_Circle(size) left(120) small_Circle(size) big_Circle(size) line(size) end_fill() def arrow(): pensize(10) setheading(0) go_to(-400, 0) left(15) forward(150) go_to(339, 178) forward(150) def arrowHead(): pensize(1) speed(1) color('red', 'red') begin_fill() left(120) forward(20) right(150) forward(35) right(120) forward(35) right(150) forward(20) end_fill() def main(): pensize(2) color('red', 'pink') #getscreen().tracer(30, 0) #取消注释后,快速显示图案 heart(200, 0, 1) #画出第一颗心,前面两个参数控制心的位置,函数最后一个参数可控制心的大小 setheading(0) #使画笔的方向朝向x轴正方向 heart(-80, -100, 1.5) #画出第二颗心 arrow() #画出穿过两颗心的直线 arrowHead() #画出箭的箭头 go_to(400, -300) write("author:520Python", move=True, align="left", font=("宋体", 30, "normal")) done() main()
表白代码3
效果图:
源代码:
import turtle import time turtle.speed(5) # 画笔移动的速度 # 设置初始位置 turtle.penup() # 提起画笔,移动画笔但并不会绘制图形 turtle.left(90) # 逆时针转动画笔90度 turtle.fd(200) turtle.pendown() # 放下画笔,移动画笔即开始绘制 turtle.right(90) # 设置画笔的大小 turtle.pensize(2) # 花蕊 turtle.fillcolor("red") # 填充颜色 turtle.begin_fill() # 开始填充 turtle.circle(10, 180) turtle.circle(25, 110) turtle.left(50) turtle.circle(60, 45) turtle.circle(20, 170) turtle.right(24) turtle.fd(30) turtle.left(10) turtle.circle(30, 110) turtle.fd(20) turtle.left(40) turtle.circle(90, 70) turtle.circle(30, 150) turtle.right(30) turtle.fd(15) turtle.circle(80, 90) turtle.left(15) turtle.fd(45) turtle.right(165) turtle.fd(20) turtle.left(155) turtle.circle(150, 80) turtle.left(50) turtle.circle(150, 90) turtle.end_fill() # 结束填充 # 花瓣1 turtle.left(150) turtle.circle(-90, 70) turtle.left(20) turtle.circle(75, 105) turtle.setheading(60) turtle.circle(80, 98) turtle.circle(-90, 40) # 花瓣2 turtle.left(180) turtle.circle(90, 40) turtle.circle(-80, 98) turtle.setheading(-83) # 叶子1 turtle.fd(30) turtle.left(90) turtle.fd(25) turtle.left(45) turtle.fillcolor("green") turtle.begin_fill() turtle.circle(-80, 90) turtle.right(90) turtle.circle(-80, 90) turtle.end_fill() turtle.right(135) turtle.fd(60) turtle.left(180) turtle.fd(85) turtle.left(90) turtle.fd(80) # 叶子2 turtle.right(90) turtle.right(45) turtle.fillcolor("green") turtle.begin_fill() turtle.circle(80, 90) turtle.left(90) turtle.circle(80, 90) turtle.end_fill() turtle.left(135) turtle.fd(60) turtle.left(180) turtle.fd(60) turtle.right(90) turtle.circle(200, 50) # 画一个圆 200 是半径,50 是弧度 # 不让自动退出,放在程序的最后一行 # 不然画画结束后会自动退出 turtle.done()
学Python的安娴 数据分析 Python 解答小可爱 感谢各位大佬们的关注,有问题可私我免费解答,需要学习视频、文档、源码的可以看以下获取方式哔哩哔哩账号:学Python的安娴官方学习口口裙:11418-60209
相关文章推荐
- python情人节之玫瑰花与表白方式
- 【Python实战】随机图像数据集自动生成(原创)
- Python 转义符以及脚本自动生成
- 软件测试开发实战|接口自动化测试框架开发(pytest+allure+aiohttp+用例自动生成)
- Python 中的POST/GET包构建以及随机字符串的生成。Python 初级应用
- serialVersionUID的作用以及如何用idea自动生成实体类的serialVersionUID
- python工具快速为音视频自动生成字幕(使用说明)
- python(dict字典相关知识以及小例子:生成一个列表,存放100个随机整数,找出出现次数最多的数字)
- php中soap的使用实例以及生成WSDL文件,提供自动生成WSDL文件的类库——SoapDiscovery.class.php类
- flex4 -- 如何自动生成get和set方法,以及使用
- idea使用generator自动生成Mybatis代码以及idea插件的使用
- 小白的第一个python办公自动化项目——自动生成文件索引表(pandas简化版)
- 循序渐进Python3(十三) --2-- django之form表单(自动生成html标签和自定制提示信息)
- 使用python自动生成docker nginx反向代理配置
- HtmlUnit爬取Ajax动态生成的网页以及自动调用页面javascript函数
- 使用python自动生成docker nginx反向代理配置
- python3.6+selenium3.13 自动化测试项目实战一(增加自动发送邮件报告接口)
- python学习笔记——自动生成图表工具
- Seam新手实战(2):自动生成的代码
- 使用Python的Supervisor进行进程监控以及自动启动