玩转Python Turtle库,实现满屏飘字的魔法!

前言

    本文将教你如何使用Python的Turtle库,通过简单的编程实现满屏飘字的炫酷效果。无需复杂的编程知识,跟着我们的步骤,你也可以成为编程小达人!

效果展示

开发过程

一、准备工作

首先,确保你的电脑上已经安装了Python环境。然后,你需要安装或更新Turtle库(通常Python安装时自带了Turtle库)。

二、编写代码

接下来,我们将通过编写一个简单的Python脚本来实现满屏飘字的效果。以下是一个基本的示例代码:

import turtle as timport random
t.setup(1.0, 1.0)t.bgcolor('black')t.ht()# 雪中悍刀行人物persons = '''雪中悍刀行—徐凤年—姜泥—徐骁—吴素—徐脂虎—徐渭熊—徐龙象—陈芝豹—南宫仆射—李义山—赵楷—李淳罡—魏淑阳—王仙芝—洪洗象—裴南苇—赵珣—宁峨眉—青鸟—韩貂寺—舒羞—褚禄山—楚狂奴—温华—黄阵图—鱼玄机—陈锡亮—赵衡—吕钱塘—赵凤雅—贾佳嘉—红薯—赵宣素—小地瓜-拓跋菩萨'''
persons = persons.replace('\n', '')words = persons.split('—')print(words)
# 小说人物类class Xiaoshuo():    def __init__(self):        self.x = random.randint(-1000, 1000)  # 横坐标        self.y = random.randint(-500, 500)    # 纵坐标        self.f = random.uniform(-10, 10)   # 左右移动        self.speed = random.randint(2, 6)  # 移动速度        self.word = random.choice(words)  # 文字        # 文字的颜色        self.color = "#%02x%02x%02x" % (random.randint(0, 255),                    random.randint(0, 255), random.randint(0, 255))
    # 1.写字    def draw(self):        t.penup()        t.goto(self.x, self.y)        t.pendown()        t.color(self.color)        t.write(self.word, font=('楷体', 24))
    # 2.xy坐标变化,实现文字的移动    def move(self):        # 当文字还在画布中时        if self.y <= 500:            self.y += self.speed  # 设置上下移动,y逐渐增加            self.x -= self.speed + self.f  # 左右移动速度        # 当文字漂出了画布时,重新生成文字        else:            self.x = random.randint(-1000, 1000)            self.y = -500            self.f = random.uniform(-10, 10)  # 左右移动            self.speed = random.randint(1, 2)  # 移动速度            self.word = random.choice(words)  # 文字            # 文字的颜色            self.color = "#%02x%02x%02x" % (random.randint(0, 255),                                            random.randint(0, 255), random.randint(0, 255))
# 用列表保存对象xiaoshuos = []for i in range(180):    xiaoshuos.append(Xiaoshuo())
# 开始写字+移动while True:    t.tracer(0)    t.clear()    for i in range(150):        xiaoshuos[i].move()        xiaoshuos[i].draw()    t.update()
t.done()

三、运行代码并享受成果

    将上述代码保存为一个.py文件,例如floating_words.py,然后在命令行或终端中运行该文件。你将看到一个窗口,窗口中会不断随机出现我们定义的文字,形成满屏飘字的效果。

 四、拓展与挑战

1、尝试修改代码,让文字以不同的速度、大小、颜色或位置出现

2、尝试添加更我的文字,让你的飘字效果更加丰富

3、挑战自己,尝试实现更复杂的动画效果

运行效果图

总结

    通过本文的介绍,相信你已经掌握了如何使用Python的Turtle库实现满屏飘字的炫酷效果。编程不仅是一门技能,更是一种创造的艺术。希望你能在编程的道路上不断探索、创新,创造出更多有趣的作品!

文末福利

最后,如果你对Python感兴趣的话,可以试试我整理的这一份全套的Python学习资料,【点击这里】免费领取!

包括:Python激活码+安装包、Python
web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

① Python所有方向的学习路线图,清楚各个方向要学什么东西

② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析

③ 100多个Python实战案例,学习不再是只会理论

④ 华为出品独家Python漫画教程,手机也能学习

⑤ 历年互联网企业Python面试真题,复习时非常方便

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

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

相关文章

12. GIS地图制图工程师岗位职责、技术要求和常见面试题

本系列文章目录&#xff1a; 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

python如何读取excel文件内的数据

目录 前言一、安装openpyxl二、读取Excel数据总结前言 在Python中读取Excel数据,最常用的库之一是openpyxl(用于.xlsx格式)和xlrd(尽管xlrd从版本2.0开始不再支持.xlsx,仅支持旧的.xls格式)。然而,对于大多数现代应用来说,openpyxl是一个更好的选择,因为它支持.xlsx格…

2. GIS数据工程师岗位职责、技术要求和常见面试题

本系列文章目录&#xff1a; 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

基础学习之——Docker 的基本概念和优势,以及在应用程序开发中的实际应用。

Docker是一种开源的容器化平台&#xff0c;可以将应用程序及其所有依赖项打包在一个容器中&#xff0c;实现跨平台、可移植和可扩展的部署。下面是Docker的基本概念和优势&#xff1a; 容器&#xff1a;Docker使用容器来打包应用程序及其依赖项&#xff0c;容器是一个独立、可执…

COD论文笔记 BiRefNet

本质还是一个 U 型编码器解码器结构的分割模型。 我可以考虑将©和(d)结合&#xff0c;即对解码器的输入不进行 patchify,同时在各个阶段引入梯度参考信息 最近的相关工作&#xff0c;中间监督、额外先验(频率&#xff0c;梯度&#xff0c;边缘等)取得不错效果 作者观察到…

Post-Training有多重要?一文带你了解全部细节

1. 简介 随着LLM学界和工业界日新月异的发展&#xff0c;不仅预训练所用的算力和数据正在疯狂内卷&#xff0c;后训练&#xff08;post-training&#xff09;的对齐和微调方法也在不断更新。InstructGPT、WebGPT等较早发布的模型使用标准RLHF方法&#xff0c;其中的数据管理风…

[建模已更新]2024数学建模国赛高教社杯A题:“板凳龙” 闹元宵 思路代码文章助攻手把手保姆级

本系列专栏将包括两大块内容 第一块赛前真题和模型教学,包括至少8次真题实战教学,每期教学专栏的最底部会提供完整的资料百度网盘包括:真题、数据、可复现代码以及文章. 第二块包括赛中详细思路建模、代码的参考助攻, 会提供2024年高教社国赛A的全套参考内容(一般36h内更新完毕…

高效实用的网站ICP备案查询接口

随着互联网的日益发展&#xff0c;对于网站的监管变得越来越重要。为了更好地管理和监督互联网上的网站&#xff0c;官方要求所有在中国境内的网站都需要进行ICP备案。因此&#xff0c;ICP备案不仅是法律要求&#xff0c;也是衡量一个网站是否正规的重要标志之一。为了便于开发…

【Redis】Redis 集群搭建与管理: 原理、实现与操作

目录 集群 (Cluster)基本概念数据分片算法哈希求余⼀致性哈希算法哈希槽分区算法 (Redis 使⽤) 集群搭建 (基于 docker)第⼀步: 创建⽬录和配置第⼆步: 编写 docker-compose.yml第三步: 启动容器第四步: 构建集群 主节点宕机演⽰效果处理流程1)故障判定2)故障迁移 集群扩容第⼀…

IP/TCP/UDP协议的关键知识点

导语&#xff1a;网络协议是理解网络情况的基础&#xff0c;当遇到网络问题时&#xff0c;首先可以从网络协议入手&#xff0c;熟悉的网络协议可以有效帮助小伙伴们排查或者说定位大概的问题方面。本文整理了目前最常用的网络通信协议&#xff0c;相信对小伙伴们肯定都有帮助。…

el-table使用type=“expand”根据数据条件隐藏展开按钮

一&#xff1a;添加className <el-table :data"tableData" border :loading"loading" :row-class-name"getRowClass" expand-change"expandchange"><el-table-column type"expand"><template #default"…

python学习11-Pytorch张量与数据处理1

ndarray 首先&#xff0c;我们介绍n维数组&#xff0c;也称为张量&#xff08;tensor&#xff09;。 使用过Python中NumPy计算包的读者会对本部分很熟悉。 无论使用哪个深度学习框架&#xff0c;它的张量类&#xff08;在MXNet中为ndarray&#xff0c; 在PyTorch和TensorFlow中…

高精度计算(代码加解析,洛谷p1601,p1303)除法待更新

目录 高精度加法 高精度减法 高精度乘法 高精度加法 我们知道在c语言中任何数据类型都有一定的表示范围。当两个被加数很大时&#xff0c;正常加法不能得到精确解。在小学&#xff0c;我们做加法都采用竖式方法。那么我们也只需要按照加法进位的方式就能得到最终解。 8 5 6…

华为eNSP:NAT Server(端口映射)

一、拓扑图 二、配置过程 此处省略设备地址以及路由配置过程 1、服务器开启ftp服务 2、路由器配置nat server [r4]int g0/0/2#进入流量出接口 [r4-GigabitEthernet0/0/2]nat server protocol tcp global 192.168.3.11 ftp inside 192.168.2.1 ftp# …

IP地址中的子网掩码

目录 一、子网掩码的概念 二、引入子网掩码的原因 1. 网络分段&#xff08;Subnetting&#xff09; 2. IP地址的组织 3. 有效利用IP地址 4. 减少广播域 5. 支持路由 三、子网掩码的划分 例子1 例子2 1. 子网掩码的二进制表示 2. 网络地址 3. 广播地址 4. 可用主机…

SnapGene 5.3.1下载安装教程百度网盘分享链接地址

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 SnapGene介绍 SnapGene 5.3.1下载安装教程百度网盘分享链接地址&#xff0c;SnapGene 是一款由美国公司开发&#xff08;后被收购&#xff09;的分子生物学软件&#xff0c;…

基于YOLO8的图片实例分割系统

文章目录 在线体验快速开始一、项目介绍篇1.1 YOLO81.2 ultralytics1.3 模块介绍1.3.1 scan_task1.3.2 scan_taskflow.py1.3.3 segment_app.py 二、核心代码介绍篇2.1 segment_app.py2.2 scan_taskflow.py 三、结语 代码资源&#xff1a;计算机视觉领域YOLO8技术的图片实例分割…

Java中Json、String、jsonObject、jsonArray格式之间的互相转换 (Fastjson、Gson、String字符串分隔)

1.org中jackson转换json,springboot中内置jackson ObjectMapper onew ObjectMapper();List<>listnew ArrayList();String jonso.writeAsValueString(list); 一、Fastion 使用阿里的fastjson <dependency><groupId>com.alibaba</groupId><artifactId…

使用 JAXB 将内嵌的JAVA对象转换为 xml文件

使用 JAXB 将内嵌的JAVA对象转换为 xml文件 1. 需求2. 实现&#xff08;1&#xff09;FileDesc类&#xff08;2&#xff09;MetaFileXml类&#xff08;3&#xff09;生成对应的xml文件 1. 需求 获取一个目录下所有文件的元数据信息&#xff08;文件名、大小、后缀等&#xff0…

1.2CubeMAX创建FREERTOS入门示例

1.CUBEMAX快速配置 V2改为V1否则编译会报错 2.Freertos各配置选项卡解释 Events &#xff1a;事件相关的创建 Task and Queues &#xff1a; 任务与队列的创建 Timers and Semaphores &#xff1a; 定时器和信号量的创建 Mutexes &#xff1a; 互斥量的创建 FreeRTOS Heap…