Python3,100行代码,写一段新年祝福视频,为新年喝彩。

2023-12-19 20:28

本文主要是介绍Python3,100行代码,写一段新年祝福视频,为新年喝彩。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

新年祝福

  • 1、引言
  • 2、代码示例
    • 2.1 思路
    • 2.2 介绍
      • 2.2.1 画布
      • 2.2.2 用法
    • 2.3 实例
  • 3、总结

1、引言

小屌丝:鱼哥, 这2023年马上就结束了, 是不是要表示表示。
小鱼:我也在思考这个事情。
小屌丝:这还需要思考?
小鱼:那可不,毕竟马上新年了,我不能草率啊。
小屌丝:那你准备怎么表示,表示多少,去哪表示啊?
小鱼:在C站一篇博文。
小屌丝:…
小鱼:不然呢,我还要写几篇啊。
小屌丝:…
小鱼:这个咋样。
小屌丝:…
在这里插入图片描述

小鱼:这表情,不太乐意啊
小屌丝:我还以为你能给会员卡充满呢。
小鱼:这不是你的事情嘛。
小屌丝:…
在这里插入图片描述

小鱼:我想好了,写一个新年祝福视频。
小屌丝:… 这压力给到我了。
小鱼: 嘿嘿~

2、代码示例

2.1 思路

其实这篇的思路,跟这篇《Python3,10行代码,写一个气球运行小游戏,再也不无聊了。》的思路差不多。
这里就不在赘述,如果不太了解,那直接跳转到这一篇,查看即可。

2.2 介绍

2.2.1 画布

1、画布的高宽及颜色
turtle.screensize(canvwidth=None, canvheight=None, bg=None),

  • canvwidth=None:宽
  • canvheight=None:高
  • bg=None: 背景色

2、画布像素及位置
turtle.setup(width=0.5, height=0.75, startx=None, starty=None),

  • width=“整数”,像素 ;width=“小数”,占据电脑屏幕比例
  • height=“整数”,像素 ;height=“小数”,占据电脑屏幕比例
  • startx, starty :窗口坐标位置

2.2.2 用法

命令用法
turtle.forward(distance)向当前画笔⽅向移动distance像素长度
turtle.backward(distance)向当前画笔相反⽅向移动distance像素长度
turtle.right(degree)顺时针移动degree°
turtle.left(degree)逆时针移动degree°
turtle.pendown()移动时绘制图形,缺省时也为绘制
turtle.goto(x,y)将画笔移动到坐标为x,y的位置
turtle.penup()提起笔移动,不绘制图形,⽤于另起⼀个地⽅绘制
turtle.circle()画圆,半径为正(负),表⽰圆⼼在画笔的左边(右边)画圆
setx( )将当前x轴移动到指定位置
sety( )将当前y轴移动到指定位置
setheading(angle)设置当前朝向为angle⾓度
home()设置当前画笔位置为原点,朝向东。
dot( r )绘制⼀个指定直径和颜⾊的圆点

学习了turtle的基本用法,接下来,我们就要实践了。

2.3 实例

# -*- coding:utf-8 -*-
# @Time   : 2023-12-17
# @Author : Carl_DJ'''
实现功能:使用turtle绘制五彩气球,并写上新年祝福语
'''import turtle as tu
import random as ra
import math#设置画板大小
tu.setup(0.5,0.5)
t = tu.Pen()
#设置气球颜色
colors = ['red','orange','yellow','blue','green','pink','lime']class Balloon():#气球基本设置def __init__(self):self.r = ra.randint(12,21) #气球的半径self.x = ra.randint(-1000,1000) #气球横坐标self.y = ra.randint(-500,500) #气球纵坐标self.f = ra.uniform(-3.14,3.14) #气球左右移动呈正弦函数self.speed = ra.randint(5,10) #气球移动速度self.color =ra.choice(colors) #气球的颜色self.outline = 1  #气球外框大小#气球移动函数def Balloon_move(self):if self.y <= 500:     # 气球在画布中self.y += self.speed  #气球上下移动速度self.x += self.speed * math.sin(self.f)  #气球左右移动速度self.f += 0.1#画气球函数,turtledef Balloon_draw(self):t.penup()t.goto(self.x,self.y)t.pendown()t.color(self.color)t.left(45)t.begin_fill()t.fillcolor(self.color)for i in range(2):t.circle(self.r*2,90)t.circle(self.r,90)t.end_fill()t.hideturtle()t.circle(self.r,-45)t.right(90)t.circle(20,90)
#保存所有气球
Balloons = []
for i in range(100):Balloons.append(Balloon())
tu.bgcolor('black')
while True:    #气球开始漂浮tu.tracer(0)t.clear()for i in range(100):  #设置气球数量Balloons[i].Balloon_move()Balloons[i].Balloon_draw()# 写祝福语tu.penup()tu.goto(-250,20)tu.pendown()tu.color('orange')tu.write("新年快乐",font=("黑体",80,"italic"))  #italic :斜体# tu.write("祝你快乐每一天!", font=("黑体", 80, "italic"))  # "italic"表示斜体tu.hideturtle()tu.update()
tu.mainloop()

运行结果

新年祝福+气球

3、总结

看到这里,今天的分享差不多就该结束了。
2023年,也该告一段落了。
新的一年,我们依然要不忘初心,砥砺前行。

关于 turtle 的用法, 也可以参考小鱼的这篇博客

  • Python3,区区几行代码,turtle替我实现了我多年的绘画梦。

关于气球绘画,可以参考小鱼的这篇博客:

  • Python3,10行代码,写一个气球运行小游戏,再也不无聊了

我是小鱼

  • CSDN 博客专家
  • 阿里云 专家博主
  • 51CTO博客专家
  • 51认证讲师等
  • 认证金牌面试官
  • 职场面试培训、职业规划师
  • 多个国内主流技术社区的认证专家博主
  • 多款主流产品(阿里云等)测评一、二等奖获得者

关注小鱼,带你学习更多更专业更前言的人工智能相关技术。

这篇关于Python3,100行代码,写一段新年祝福视频,为新年喝彩。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/513588

相关文章

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码