Python|Python 弹窗设计小人发射爱心
这些代码里含有弹窗设计,可以根据好友选择来进入不同画面,简单有趣的中秋礼物哦
这是我第一次用turtle画画,水平有限,如有问题,请指正哦!(还没有进一步简化,代码写得很啰嗦。)
如果想发给朋友的话,可以将代码打包为exe,具体步骤如下:
- 1.先在桌面创建文件夹
- 2.将要打包的python文件放进该文件夹
- 3.在该文件夹打开命令行(如图)并输入:pyinstaller -F filename.py(你的文件名)
- 4.在dist文件夹里就可以找到你想要的小程序啦hhhhhh
文章图片
先来两张成果图(这是经过弹窗选择后的不同结果)
文章图片
文章图片
下面是代码,需要自取哦!
##Author:Griffy##Date:2021-9-21 from turtle import *import timeimport PySimpleGUI as sg#弹框制作模块 def draw_count_down(i):#倒数bgcolor('black')speed(0)up()goto(-50,-100)color('white')write(i, align="center",font=('Times New Roman', 200, 'bold'))time.sleep(1) def draw_moon():#画月亮bgcolor('#093FB7')color('#F4EE00', '#F4EE00')begin_fill()speed(2)up()goto(0, -300)down()circle(300)end_fill() def draw_people():#画小人up()fillcolor()begin_fill()color('black','white')goto(-300, 50)# 脖子坐标down()circle(75)# 半径为75的脑袋end_fill()right(90)forward(175)# 身体的长度175像素right(45)forward(100)# 腿长100像素up()goto(-300, -120)# 画另一条腿down()left(90)forward(100)up()goto(-300, -5)# 手臂坐标down()left(45)forward(100)# 第一只手臂长度left(45)forward(67)# 手掌长度up()goto(-300, -40)# 第二只手臂坐标down()right(45)forward(100)# 第二只手臂长度right(45)forward(67)up()goto(-330, 155)# 第一只眼睛起始坐标down()right(45)forward(50)# 眼睛长度为50up()goto(-270, 155)# 第二只眼睛起始坐标down()forward(50)up()pencolor('#F39F79')goto(-340,100) #红脸蛋第一只眼seth(0)down()backward(40)up()goto(-260, 100)# 红脸蛋第二只眼down()forward(40)time.sleep(1) def draw_heart(size):# 画爱心color('red', 'pink')down()setheading(150)begin_fill()forward(size)circle(size * -3.745, 45)circle(size * -1.431, 165)left(120)circle(size * -1.431, 165)circle(size * -3.745, 45)forward(size)end_fill() def send_heart():#发射爱心up()goto(-50, -22)draw_heart(14)up()goto(120, -22)draw_heart(25)penup()goto(305, -22)draw_heart(43) def wr_character():up()goto(-50,-200)pencolor('black')write('中', font=('幼圆', 60, 'bold'))up()goto(50,-200)write('秋', font=('幼圆', 60, 'bold'))up()goto(150,-200)write('快', font=('幼圆', 60, 'bold'))up()goto(250,-200)write('乐', font=('幼圆', 60, 'bold')) def draw_pupu():#画便便up()shapesize(10, 2)speed(2)fillcolor()color('#805140','#805140')begin_fill()goto(-50, -20)down()circle(20)end_fill()begin_fill()up()goto(-50, -80)down()circle(40)end_fill()begin_fill()up()goto(10, -110)seth(90)down()circle(60,180)seth(0)forward(120)end_fill() def present_good():#认为我是好人送的礼物setup(1000,700)pensize(10)hideturtle() numbers=[5,4,3,2,1]#进行倒数for i in numbers:draw_count_down(i)undo()draw_moon()draw_people()send_heart()wr_character()done() def present_bad():#认为我不好送的礼物setup(1000, 700)pensize(10)hideturtle()numbers=[5,4,3,2,1]#进行倒数for i in numbers:draw_count_down(i)undo()draw_moon()draw_people()draw_pupu()wr_character()done() layout=[#弹框内容设计[sg.Text('请输入你的名字:')],[sg.Input()],[sg.Text('请回答下面这个问题哦!')],[sg.Text('xxx是个大好人是吗?')],[sg.Button('是的是的')],[sg.Button('不是')]] sg.popup('你好呀!我是你的好朋友xxx为你定制的中秋节礼物?','请按OK键继续') #这是一个简易弹框time.sleep(1)window=sg.Window('中秋礼物',layout)event,value=https://www.it610.com/article/window.read()window.close()if event =='是的是的':sg.popup(f'{value[0]}请按OK键接收xxx的中秋礼物!?')#这是一个简易弹框#这里的value[0],是因为value返回内容为字典time.sleep(1)present_good()else:sg.popup(f'{value[0]}竟然对xxx有意见,你还想要礼物!!','但是xxx是个大度的人,送你礼物吧','请按OK键接收xxx的中秋礼物!')present_bad()
弹框里的问题和文字大家可以根据自己的想法进行设计哈!
最后,祝大家中秋快乐!!!
【Python|Python 弹窗设计小人发射爱心】到此这篇关于Python 弹窗设计小人发射爱心的文章就介绍到这了,更多相关Python 小人发射爱心内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 爱琐搭配(喜欢复古、冷淡,像这种双环设计的气质耳环)
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- 别墅庭院设计,不同的别墅庭院设计也给人视觉上完全不一样的!