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

news2024/12/23 9:30:51

新年祝福

  • 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
    #画气球函数,turtle
    def 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认证讲师等
  • 认证金牌面试官
  • 职场面试培训、职业规划师
  • 多个国内主流技术社区的认证专家博主
  • 多款主流产品(阿里云等)测评一、二等奖获得者

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1321988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kubernetesr安全篇之云原生安全概述

云原生 4C 安全模型 云原生 4C 安全模型&#xff0c;是指在四个层面上考虑云原生的安全&#xff1a; Cloud&#xff08;云或基础设施层&#xff09;Cluster&#xff08;Kubernetes 集群层&#xff09;Container&#xff08;容器层&#xff09;Code&#xff08;代码层&#xf…

modelsim使用技巧

Modelsim关闭Add items to the Project后&#xff0c;该如何添加existing file&#xff1a; 在project页面下&#xff0c;右键选择add to project-add existing file 设置modelsim的仿真波形时间单位&#xff1a; 打开Modelsim后&#xff0c;在Wave-Wave Preferences后&#…

从零开始学习Web自动化:用Python和Selenium实现网站登录功能!

Web自动化测试实战项目&#xff1a;使用Selenium和Python完成网站登录功能的自动化测试 本文将介绍如何使用Selenium和Python编写自动化测试脚本&#xff0c;对网站登录功能进行测试。我们将通过模拟用户在网站上输入用户名和密码&#xff0c;并点击登录按钮&#xff0c;来检验…

JavaWeb编程语言—登录校验

一、前言&简介 前言&#xff1a;小编的上一篇文章“JavaWeb编程语言—登录功能实现”&#xff0c;介绍了如何通过Java代码实现通过接收前端传来的账号、密码信息来登录后端服务器&#xff0c;但是没有实现登录校验功能&#xff0c;这代表着用户不需要登录也能直接访问服务器…

设计模式 原型模式 与 Spring 原型模式源码解析(包含Bean的创建过程)

原型模式 原型模式(Prototype模式)是指&#xff1a;用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型&#xff0c;创建新的对象。 原型模式是一种创建型设计模式&#xff0c;允许一个对象再创建另外一个可定制的对象&#xff0c;无需知道如何创建的细节。 工作原…

技术分享-Jenkins

持续集成及Jenkins介绍 软件开发生命周期叫SDLC&#xff08;Software Development Life Cycle&#xff09;&#xff0c;集合了计划、开发、测试、部署过程。 在平常的开发过程中&#xff0c; 需要频繁地&#xff08;一天多次&#xff09;将代码集成到主干&#xff0c;这个叫持…

电子烟单片机方案开发,32位单片机PY32F030电子烟解决方案

电子烟是一种低压的微电子雾化设备。可以通过加热液体产生雾状物质&#xff0c;供用户吸入使用的新型电子产品。它是由微控制器&#xff08;MCU&#xff09;、超声波雾化发生器、充电管理IC、锂离子电池、发热棒等器件构成&#xff0c;主要用于替代传统香烟和戒烟&#xff0c;与…

一文读懂什么是智能工厂?

引言 在当今快速变革的制造业中&#xff0c;智能工厂如一盏明灯&#xff0c;照亮着未来生产的道路。它们不仅代表着技术的进步&#xff0c;更是制造业向前迈进的里程碑。智能工厂利用先进的技术和创新方法&#xff0c;将传统工厂转化为高度自动化、数字化和智能化的生产中心。…

13英寸MacBook Pro停产后 Touch Bar功能被废弃

新款M3 MacBook Pro的发布标志着苹果13英寸MacBook Pro正式停产。这款13英寸MacBook Pro是最后一款搭载Touch Bar的苹果笔记本&#xff0c;这意味着苹果已经放弃了使用Touch Bar。 Touch Bar是一块OLED触控显示屏&#xff0c;位于MacBook Pro键盘的顶部。尽管苹果对它抱有很高的…

MyBatis的查询方法!!!

准备工作&#xff1a;1.创建一个maven工程&#xff0c;然后将pojo类导入到项目中去。 2.导入依赖到pom.xml文件中 3.在resources中创建log4j.properites和mybatis-config.xml 4.创建UserMapper接口和UserMapper.xml文件 5.创建测试类MyBatisTest 1.创建Maven工程&#xff0c;还…

蓝桥杯嵌入式——串口

CUBE里配置成异步模式&#xff0c;设置波特率&#xff0c;打开中断&#xff08;先配置LCD再配置串口&#xff09;&#xff1a; 串口发送 main.c #include "string.h" char temp[20]; sprintf(temp,"Hello World\r\n"); HAL_UART_Transmit(&huart1,(…

绝地求生是国际服吗?

绝地求生&#xff08;PlayerUnknowns Battlegrounds&#xff0c;简称PUBG&#xff09;是一款多人在线的生存竞技类游戏&#xff0c;由韩国的蓝洞公司开发和发行。该游戏于2017年正式发布&#xff0c;以其创新的游戏模式和激烈的战斗场景迅速走红全球&#xff0c;并成为全球最具…

魔众文库系统v5.8.0版本发布:水印、分类与移动端升级,打造更高效文档管理体验

魔众文库系统迎来了全新的v5.8.0版本更新&#xff01;此次更新不仅对水印功能进行了升级&#xff0c;还新增了辅助分类样式&#xff0c;同时优化了移动端体验。让我们一起来看看这次更新的亮点吧&#xff01; 一、水印功能全新升级 在v5.8.0版本中&#xff0c;魔众文库系统的…

Java实现一个在windows环境下的文件搜索引擎

以下是一个简单的Java实现的Windows文件搜索引擎的示例代码&#xff1a; import java.io.File; import java.util.ArrayList; import java.util.List;public class FileSearchEngine {public static void main(String[] args) {String searchDirectory "C:/"; // …

element plus 日期范围 自定义内容

问题&#xff1a; 按照官网上的自定义内容示例&#xff0c;修改日期选择器没有问题&#xff0c;如果修改日期范围选择器&#xff0c;修改后会丢失日期范围选择时的样式。 解决&#xff1a; 从F12中不难看出日期范围的选择样式来自于.el-date-table-cell 而示例中写的是.cell&…

23--数据结构简述

常见的数据结构 数据存储的常用结构有&#xff1a;栈、队列、数组、链表和红黑树。 1、栈 特点&#xff1a;先进后出 2、队列 特点&#xff1a;先进先出 3、数组 数组特点&#xff1a;查询快 &#xff0c; 增删慢 整形数组&#xff1a; 对象数组&#xff1a; 4、链表 链…

案例分享|企业为什么要选择数字化转型?

数字化在现代社会中扮演着重要的角色&#xff0c;成为企业转型的必由之路。随着科技的发展和信息化的进程&#xff0c;越来越多的企业开始拥抱数字化转型&#xff0c;以应对市场的变化和竞争的压力。数字化带来了诸多好处&#xff0c;不仅提高了企业的效率和生产力&#xff0c;…

阿里云登录镜像仓库报错: Error response from daemon: Get https://

阿里云登录镜像仓库报错: Error response from daemon: Get https:// 1. 故障现象 开发反应自用笔记本连接镜像仓库是正常的,但通过服务器连接镜像仓库一直失败. 报错信息如下: Error response from daemon: Get https://registry.cn-hangzhou.aliyuncs.com/v2/: unauthoriz…

力扣刷题记录(16)LeetCode:62、63、343、96

目录 62. 不同路径 63. 不同路径 II 343. 整数拆分 96. 不同的二叉搜索树 总结 这题比较简单&#xff0c;直接声明一个二维数组来保存到达该点有几种路径。到达当前点的方法由当前点的左边格子和右边格子决定。 class Solution { public:int uniquePaths(int m, int n)…

美国联邦机动车安全标准-FMVSS

FMVSS标准介绍&#xff1a; FMVSS是美国《联邦机动车安全标准》&#xff0c;由美国运输部下属的国家公路交通安全管理局(简称NHTSA)具体负责制定并实施。是美国联邦政府针对机动车制定的安全标准&#xff0c;旨在提高机动车的安全性能&#xff0c;减少交通事故中的人员伤亡。F…