Python实现张万森下雪了的效果

写在前面

即将步入婚宴殿堂的女主林北星,遭遇了男友展宇的毁约,生活和工作也变得一团糟。与此同时,她被时光老人带回了十八岁的高三时光,重新开启了自己的人生。林北星摆脱了展宇的束缚,认真准备高考,想要为了自己活一次。然而,她却遇到了改变自己命运的男主张万森,并开始试图拯救他……

一闪一闪亮星星

《一闪一闪亮星星》是由陈小明、章攀执导,张佳宁、屈楚萧领衔主演,吴希泽、傅菁、骆明劼、蒋昀霖、徐紫茵主演的奇幻悬疑爱情剧。该剧讲述了林北星意外删除旧手机中的短信回到过去,重新认识了昔日陌路校友张万森,从而展开一段奇妙的时空拯救之旅的故事。

有人说,张万森下雪了的意思是我想你了;也有人说,张万森下雪了就是表达一个男孩对于暗恋女孩的感受。小编觉得“张万森下雪了”是一个含蓄的告白,小伙伴们觉得呢~

本文小编将用python画出“张万森,下雪了”,Let's start!

Turtle入门

turtle是Python编程语言中的一个模块,用于绘制图形和图形动画。它最初在Logo编程语言中使用,用于教育孩子们进行绘图操作。现在,它已经成为Python绘图和图形动画的一个重要工具。下面,我们来介绍一下turtle模块的基本用法和入门指南。

首先,需要导入turtle模块,可以使用以下代码:

import turtle

接下来,我们创建一个画板和一个画笔,可以使用以下代码:

window = turtle.Screen()  # 创建一个画板
pen = turtle.Turtle()  # 创建一个画笔

在turtle中,画笔默认是箭头形状。现在,我们可以使用画笔来绘制一些基本的图形,比如正方形、三角形和圆形。以下是一些示例代码:

# 绘制正方形
for _ in range(4):pen.forward(100)  # 向前移动100个单位pen.right(90)  # 右转90度# 绘制三角形
for _ in range(3):pen.forward(100)pen.right(120)# 绘制圆形
pen.circle(100)

除了基本的图形绘制,我们还可以使用turtle模块来绘制更复杂的图形和图形动画。例如,我们可以使用循环和条件语句来绘制一些有趣的图案,比如螺旋线、星星和花朵。以下是一些示例代码:

# 绘制螺旋线
for i in range(100):pen.forward(i)pen.right(90)# 绘制星星
for _ in range(5):pen.forward(100)pen.right(144)# 绘制花朵
for _ in range(36):pen.forward(50)pen.right(50)pen.forward(50)pen.right(130)pen.forward(50)pen.right(50)pen.forward(50)pen.right(130)pen.right(10)

在绘制图形时,可以使用不同的颜色和线条粗细来美化图形。以下是一些示例代码:

pen.color("red")  # 设置画笔颜色为红色
pen.pensize(3)  # 设置画笔线条粗细为3个单位

最后,当我们完成图形绘制后,需要关闭画板,可以使用以下代码:

turtle.done()  # 关闭画板

以上就是turtle模块的基本用法和入门指南。希望这能帮助你快速入门turtle绘图和图形动画。你可以通过尝试不同的代码来绘制更多的图形和动画,提升你的编程能力。

张万森,下雪了

运行结果

程序设计


import turtle as tu
import random as ra
import time
tu.setup(1.0, 1.0)
tu.bgcolor('black')  #设置画布颜色
tu.title("雪花")
t = tu.Pen()
t.ht()               #隐藏画笔
colors = ['white']   #雪花的颜色列表
class Snow():    #雪花类def __init__(self):self.r = ra.uniform(2,4)       #雪花的半径self.x = ra.randint(-1000,1000)   #雪花的横坐标self.y = ra.randint(500,1000)     #雪花的纵坐标self.speed = ra.randint(5,20)     #雪花移动速度self.color = ra.choice(colors)    #雪花的颜色self.outline = 2                  #雪花的大小……完整程序见文末公众号喔

程序分析

这段代码使用turtle模块绘制了一个下雪的动画,并在画布上添加了一段文字。让我们逐行来分析一下代码的具体实现。

首先,导入了turtle和random模块,并设置了画板的背景颜色和标题。然后创建了一个画笔对象t,并隐藏了画笔。

接下来定义了一个Snow类,用来创建雪花对象。在Snow类的构造函数中,使用random模块生成雪花的属性,如半径、横坐标、纵坐标、移动速度和颜色。其中,颜色列表为['white']。

在Snow类中定义了两种绘制雪花的方法。第一种方法采用turtle的circle函数绘制一个实心的雪花。第二种方法则是通过turtle的forward和backward函数以及角度转向来绘制雪花的花瓣形状。

接着定义了Snow类的move方法,用来实现雪花的移动效果。如果雪花还在画布内部,则将雪花的纵坐标递减,实现向上移动的效果。否则,重新生成一个雪花对象,使其重新从上方开始下落。

接下来创建了一个存储雪花对象的列表Snows,并使用一个for循环来生成199个雪花对象,并存储到列表中。

在主循环中,使用tu.tracer(0)来关闭图形的自动刷新,以提高程序的运行速度。然后清除画布上的内容,并绘制一个文字“我 好 想 你”。接着使用一个for循环遍历所有的雪花对象,调用它们的move()方法和snow()方法来实现雪花的移动和绘制。最后使用tu.update()方法来刷新画布,完成一次绘制。

整个程序将在一个无限循环中执行,实现了一个持续下雪的动画效果。

在代码中还有一部分被注释掉了,这部分代码是在画布上显示文字并进行清除的动画效果,你可以取消注释来观察效果。

写在后面

我是一只有趣的兔子,感谢你的喜欢!

【注】博主的所有原创文章仅供学习使用,禁止转载以及商业盈利,如被发现后果自负!

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

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

相关文章

同城配送小程序解决方案

前言 同城配送小程序解决方案。 一、用户用车 用户打开小程序后发货地址自动定位到用户当前位置,用户可通过地址后的>号在地图上选择新的发货地址和卸货地址,小程序会自动规划出行线路,计算距离和运费价格。 用户仅用简单操作后就可以…

w16php系列之基础数组

一、索引数组 概念 索引数组 是指键名为整数的数组。默认情况下&#xff0c;索引数组的键名是从0开始&#xff0c;并依次递增。它主要适用于利用位置&#xff08;0、1、2……&#xff09;来标识数组元素的情况。另外&#xff0c;索引数组的键名也可以自己指定 示例代码 <…

讲座思考 | 周志华教授:新型机器学习神经元模型的探索

12月22日&#xff0c;有幸听了南京大学周志华教授题为“新型机器学习神经元模型的探索”的讲座。现场热闹非凡&#xff0c;大家像追星一样拿着“西瓜书”找周教授签名。周教授讲得依旧循循善诱&#xff0c;由浅入深&#xff0c;听得我很入迷&#xff0c;故作此记。 周教授首先就…

RocketMQ系统性学习-RocketMQ高级特性之消息大量堆积处理、部署架构和高可用机制

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 【11来了】文章导读地址&#xff1a;点击查看文章导读&#xff01; &#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f3…

kasan

目录 主要参考文章&#xff1a;linux之kasan原理及解析-CSDN博客 kasn大致原理 shadow memory映射建立 kasn检查代码具体实现 kasn大致原理 之前使用slub debug定位重复释放&#xff0c;内存越界等问题时比较麻烦。无法对异常行为进行实时捕捉。看网上说kasan能做到这一点…

etcd-workbench一款免费好用的ETCD客户端,支持SSHTunnel、版本对比等功能

介绍 今天推荐一款完全免费的ETCD客户端&#xff0c;可以私有化部署: etcd-workbench 开源地址&#xff1a;https://github.com/tzfun/etcd-workbench Gitee地址&#xff1a;https://gitee.com/tzfun/etcd-workbench 下载 本地运行 从 官方Release 下载最新版的 jar 包&am…

【FPGA】分享一些FPGA视频图像处理相关的书籍

在做FPGA工程师的这些年&#xff0c;买过好多书&#xff0c;也看过好多书&#xff0c;分享一下。 后续会慢慢的补充书评。 【FPGA】分享一些FPGA入门学习的书籍【FPGA】分享一些FPGA协同MATLAB开发的书籍 【FPGA】分享一些FPGA视频图像处理相关的书籍 【FPGA】分享一些FPGA高速…

QT、C++实验室管理系统

一、需求介绍&#xff1a; 题目:基于Qt的实验室管理系统的设计 项目命名以LabSystem姓名拼音首字母&#xff08;例如: LabSystemwXC) 功能要求: 一&#xff0c;基本必要功能: 1&#xff0c;使用QSQLITE数据库完成数据库的设计。 2&#xff0c;注册功能:包含学生注册&#xff0…

哪个牌子的猫冻干好又安全?分享安全的主食冻干猫粮牌子

近几年&#xff0c;冻干猫粮在宠物圈内非常流行&#xff0c;许多品牌都推出了冻干猫粮。在所有的猫食品中&#xff0c;冻干无疑是最具营养、动物蛋白含量最高的食品之一。冻干作为现在宠物圈最火的猫食品&#xff0c;受到了众多猫友们的喜爱和追捧。但有些铲屎官在选择冻干猫粮…

axios进行图片上传组件封装

文章目录 前言图片上传接口&#xff08;axios通信)图片上传使用upload上传头像效果展示总结 前言 node项目使用 axios 库进行简单文件上传的模块封装。 图片上传接口&#xff08;axios通信) 新建upload.js文件&#xff0c;定义一个函数&#xff0c;该函数接受一个上传路径和一…

简单的喷淋实验(2):(1)根据土壤湿度自动控制喷淋开关;(2)根据光照强度控制风扇以及灯的开关---嵌入式实训

目录 简单的喷淋实验(2)&#xff1a; &#xff08;1&#xff09;根据土壤湿度自动控制喷淋开关&#xff1b; &#xff08;2&#xff09;根据光照强度控制风扇以及灯的开关---嵌入式实训 任务2&#xff1a; 具体过程&#xff1a; 所用的头文件&#xff1a; data_global.h …

【接口测试】Postman(一)--接口测试知识准备 _

1.0 前言 ​ 应用程序编程接口&#xff08;Application Programming Interface, API&#xff09;是这些年来最流行的技术之一&#xff0c;强大的Web应用程序和领先的移动应用程序都离不开后端强大的API。API技术的应用给系统开发带来了便利&#xff0c;但也对测试人员提出了更高…

PYTHON基础:最小二乘法

最小二乘法的拟合 最小二乘法是一种常用的统计学方法&#xff0c;用于通过在数据点中找到一条直线或曲线&#xff0c;使得这条直线或曲线与所有数据点的距离平方和最小化。在线性回归中&#xff0c;最小二乘法被广泛应用于拟合一条直线与数据点之间的关系。 对于线性回归&…

k8s的二进制部署(一)

k8s的二进制部署&#xff1a;源码包部署 环境&#xff1a; k8smaster01: 20.0.0.71 kube-apiserver kube-controller-manager kube-schedule ETCD k8smaster02: 20.0.0.72 kube-apiserver kube-controller-manager kube-schedule Node节点01: 20.0.0.73 kubelet kube-pr…

Vue学习之第一、二章——Vue核心与组件化编程

第一章. Vue核心 1.1 Vue简介 1.1.1 官网 英文官网: https://vuejs.org/中文官网: https://cn.vuejs.org/ 1.1.2 Vue特点 遵循 MVVM 模式编码简洁, 体积小, 运行效率高, 适合移动/PC 端开发它本身只关注 UI, 也可以引入其它第三方库开发项目 1.2 初始Vue 这里可以参考&a…

如何在vscode当中预览html文件运行结果

如何在vscode当中预览html文件运行结果 下载拓展内容打开拓展界面下载拓展 运行html文件参考内容 上一篇文章当中讲了如何实现在网页上对html文件的预览,但是这样子其实在运行代码的过程当中效果比较差,那么还需要可以实时预览运行的结果 下载拓展内容 打开拓展界面 下载拓展 …

Springboot整合MVC进阶篇

一、概述 1.1SpringBoot整合SpringMVC配置 SpringBoot对SpringMVC的配置主要包括以下几个方面&#xff1a; 自动配置&#xff1a;SpringBoot会自动配置一个嵌入式的Servlet容器&#xff08;如Tomcat&#xff09;&#xff0c;并为我们提供默认的SpringMVC配置。这样我们无需手动…

华清远见嵌入式学习——ARM——作业3

作业要求&#xff1a; 代码效果图&#xff1a; 代码&#xff1a; led.h #ifndef __LED_H__ #define __LED_H__#define RCC_GPIO (*(unsigned int *)0x50000a28) #define GPIOE_MODER (*(unsigned int *)0x50006000) #define GPIOF_MODER (*(unsigned int *)0x50007000) #defi…

12.26代码复现

# 建立矩阵模型 m Model(specification) x m.addMVar((48,),vtypeGRB.BINARY,namex) y m.addMVar((240,),lb-GRB.INFINITY,namey) u m.addMVar((48,),vtypeGRB.BINARY,nameu)以下是一个简单的示例代码&#xff0c;演示了如何使用 Python 和 Gurobi 库来实现 KKT 方法求解列…

推荐一个vscode看着比较舒服的主题:Dark High Contrast

主题名称&#xff1a;Dark High Contrast &#xff08;意思就是&#xff0c;黑色的&#xff0c;高反差的&#xff09; 步骤&#xff1a;设置→Themes→Color Theme→Dark High Contrast 效果如下&#xff1a; 感觉这个颜色的看起来比较舒服。