【趣味征文大赛】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+“\n\n”, 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+"\n\n", 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,完美!祝大家端午节快乐,贺卡什么的,快快制作起来!

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱做饭的电饭煲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值