栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【趣味征文大赛】Python端午节专属玫瑰贺卡制作(玫瑰贺卡)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【趣味征文大赛】Python端午节专属玫瑰贺卡制作(玫瑰贺卡)

一分钟学会利用Python的turtle库进行端午玫瑰贺卡制作

端午节到了,突发奇想,能不能利用Python的turtle制作一个贺卡,它的效果大概是这样子的:

1.应用场景及效果

(2022年全国端午节礼仪考试)
假如你是皮卡丘,你想要给小霞的可达鸭写一封信,祝福他端午节快乐,让他多吃一点,文章内容不少于20个字(文中不得出现单位名字)

看下最终效果:

2.专属贺卡

当然我们也可以改动成我们的名字:
假如你是小小怪下士,你想要给大大怪将军写一封信,祝福他端午节快乐,让他多吃一点,文章内容不少于20个字
想要实现这一点,我们可以使用函数来完成:
import turtle as t
t.title(‘端午节送玫瑰’) #我们给我们的程序起名字叫端午节送玫瑰
t.screensize(bg=“pink”) #我们给我们的背景改为粉色,为什么是粉色,浪漫一点哈哈哈,还蛮土!

2.1 添加贺卡收件人的名字

为了更好地实现互动性,我们利用textinput接收用户输入的名字,收件人的名字
代码:
name=t.textinput(“姓名”,“请输入你想赠花的人的名字”)

2.2添加我们的名字

name2=t.textinput(“姓名”,“请输入你的名字”)

2.3添加祝福语

注意审题,我们要祝福对方端午节快乐,请他多吃一点,所以呢,代码是这个样子:
t.write(“t”+name+“,端午快乐,请多吃一点!n”,align=“left”,font=(“微软雅黑”,18))

2.4调整文字位置

加上赠给亲爱的,这样更亲切一点:

printer = turtle.Turtle()
printer.hideturtle()
printer.penup()
printer.back(200)
printer.write(“赠给亲爱的”+name+“nn”, align=“right”, font=(“微软雅黑”, 14, “bold”))

然后我们在加上我们的名字,from,高端一点

printer.write("from "+name2, align=“center”, font=(“微软雅黑”, 18, “normal”))

2.5 最后加上玫瑰 花蕊

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, 60)

turtle.done()

看一下最终效果,OK,大功告成!

3.代码分段讲解

我们以皮卡丘写给可达鸭的信为例:
1.首先我们添加互动,输入你想送贺卡人的名字以及你的名字

import turtle as t
t.screensize(bg="pink")
# 添加文字
t.title('端午节送玫瑰')
name=t.textinput("姓名","请输入你想赠花的人的名字")
name2=t.textinput("姓名","请输入你的名字")
print(name)
t.write("t"+name+",端午快乐,请多吃一点!n",align="left",font=("微软雅黑",18))
import turtle as t

效果:

输入完毕后,我们还需要一行来加上我们的名字

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, 60)

turtle.done()

看一下最终效果,OK,大功告成!

4.代码源码

最后呢,代码源码贴在这里,供大家使用参考!

代码总结
import turtle as t
t.screensize(bg="pink")
# 添加文字
t.title('端午节送玫瑰')
name=t.textinput("姓名","请输入你想赠花的人的名字")
name2=t.textinput("姓名","请输入你的名字")
print(name)
t.write("t"+name+",端午快乐,请多吃一点!n",align="left",font=("微软雅黑",18))
import turtle as t
# !/usr/bin/env python
# coding: utf-8

# 绘制玫瑰花并添加文字
import turtle

# 设置画布大小
# turtle.screensize(canvwidth=None, canvheight=None, bg=None)
t.setup(width=0.6, height=0.6)
# 设置初始位置
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)

# 输出文字
printer = turtle.Turtle()
printer.hideturtle()
printer.penup()
printer.back(200)
printer.write("赠给亲爱的"+name+"nn", align="right", font=("微软雅黑", 14, "bold"))
printer.write("from "+name2, align="center", font=("微软雅黑", 18, "normal"))

# 花蕊
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, 60)

turtle.done()


OK,完美!祝大家端午节快乐,贺卡什么的,快快制作起来!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/953510.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号