七夕前的爱心代码!

话不多说上代码!

import turtle as tu
import random as ratu.setup(1.0, 1.0)
tu.screensize(1.0, 1.0)
tu.bgcolor('black')
t = tu.Pen()
t.ht()
colors = ['pink', 'hotpink', 'deeppink', 'lightpink', 'red', 'purple', 'violet', 'magenta']def draw_star(x, y, size, color):t.penup()t.goto(x, y)t.pendown()t.color(color)t.begin_fill()for _ in range(5):t.forward(size)t.right(144)t.end_fill()class Love:def __init__(self, r):self.r = rself.x = 0self.y = -200self.color = ra.choice(colors)self.outline = 2self.counter = 0def draw(self):t.pensize(self.outline)t.penup()t.color(self.color)t.goto(self.x, self.y)t.pendown()t.setheading(140)t.begin_fill()t.forward(224)for _ in range(200):t.right(1)t.forward(2)t.left(120)for _ in range(200):t.right(1)t.forward(2)t.forward(224)t.end_fill()def change(self):self.counter += 1if self.counter % 100 == 0:self.color = ra.choice(colors)Loves = [Love(100) for _ in range(1)]for _ in range(10000):tu.tracer(0)t.clear()for love in Loves:love.draw()love.change()# 绘制星星for _ in range(20):x = ra.randint(-300, 300)y = ra.randint(-200, 200)size = ra.randint(5, 20)color = ra.choice(colors)draw_star(x, y, size, color)tu.update()tu.mainloop()

效果图! 

 代码解释

  • 1. `import turtle as tu` 和 `import random as ra`: 导入turtle和random库,分别用于绘图和生成随机数。
  • 2. `tu.setup(1.0, 1.0)` 和 `tu.screensize(1.0, 1.0)`: 设置画布和屏幕大小。
  • 3. `tu.bgcolor('black')`: 设置画布背景颜色为黑色。
  • 4. `t = tu.Pen()`: 创建一个画笔对象。
  • 5. `t.ht()`: 隐藏画笔。
  • 6. `colors = [...]`: 定义一个颜色列表,用于爱心和星星的颜色。
  • 7. `draw_star(x, y, size, color)`: 定义一个函数,用于绘制星星。
  • 8. `class Love:`: 定义一个爱心类。
  • 9. `__init__(self, r)`: 初始化方法,设置爱心的半径、位置、颜色等属性。
  • 10. `draw(self)`: 定义一个方法,用于绘制心形。
  • 11. `change(self)`: 定义一个方法,用于改变心形的颜色。
  • 12. `Loves = [Love(100) for _ in range(1)]`: 创建一个爱心对象列表。
  • 13. `while True:`: 主循环,用于不断绘制爱心和星星。
  • 14. `tu.tracer(0)`: 关闭屏幕更新,以便一次性绘制所有图形。
  • 15. `t.clear()`: 清除画布上的所有图形。
  • 16. `for love in Loves:`: 循环遍历爱心列表,绘制每个爱心。
  • 17. `for _ in range(20):`: 循环绘制星星。
  • 18. `x = ra.randint(-300, 300)` 等: 生成星星的随机位置、大小和颜色。
  • 19. `draw_star(x, y, size, color)`: 调用函数绘制星星。
  • 20. `tu.update()`: 更新屏幕,显示所有图形。
  • 21. `tu.mainloop()`: 进入turtle的事件循环,使窗口保持打开状态。

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

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

相关文章

HASH索引,AVL树,B树,B+树的区别?

提前声明,本篇文章是我对我之前B树那篇文章的追加部分和补充的知识点,建议各位在看本篇文章的时候时已经了解了数据库索引B树的基本原理,否则有些地方可能理解起来会多一些难度哦! 深入理解索引B树的基本原理_程序猿ZhangSir的博…

iOS17 widget Content margin

iOS17小组件有4个新的地方可以放置分别是:Mac桌面、iPad锁屏界面、 iPhone Standby模式、watch的smart stack Transition to content margins iOS17中苹果为widget新增了Content margin, 使widget的内容能够距离边缘有一定的间隙,确保内容显示完整。这…

Datawhale Django入门组队学习Task02

Task02 首先启动虚拟环境(复习一下之前的) 先退出conda的, conda deactivate然后cd到我的venv下面 ,然后cd 到 scripts,再 activate (powershell里面) 创建admin管理员 首先cd到项目路径下&a…

线性代数的学习和整理6:向量和矩阵详细,什么是矩阵?(草稿-----未完成)

43 矩阵 4.1 矩阵 4 整理网上总结一些 关于直击线性代数本质的 观点 矩阵的本质是旋转和缩放 矩阵里的数字0矩阵里的数字1,表示不进行缩放矩阵里的数字2等,表示缩放矩阵里的数字-3 表示缩放-3倍,并且反向矩阵里的数字的位置矩阵拆分为列向量…

【C#学习笔记】C#特性的继承,封装,多态

文章目录 封装访问修饰符静态类和静态方法静态构造函数 继承继承原则sealed修饰符里氏替换原则继承中的构造函数 多态接口接口的实例化 抽象类和抽象方法抽象类和接口的异同 虚方法同名方法new覆盖的父类方法继承的同名方法 运行时的多态性编译时的多态性 照理继承封装多态应该…

基于 Vercel TiDB Serverless 的 chatbot

作者: shiyuhang0 原文来源: https://tidb.net/blog/7b5fcdc9 # 前言 TiDB Serverless 去年就有和 Vercel 的集成了,同时还有一个 bookstore template 方便大家体验。但个人感觉 bookstore 不够炫酷,借 2023 TiDB hackthon 的…

c#设计模式-结构型模式 之 代理模式

前言 由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接 引用目标对象,代理对象作为访问对象和目标对象之间的中介。在学习代理模式的时候,可以去了解一下Aop切面编程AOP切面编程_aop编程…

使用预制体画刷在游戏场景中快速布置预制体、粒子特效等

有时候在使用tilemap的时候,会希望在场景中添加更复杂的对象。 在2d-extras中,加入了预制件笔刷(Prefab Brush),可以将游戏物体预制体作为瓦片,来方便的在游戏场景中快速的绘制。可以自动适应游戏物体的位置…

Python Django 模型概述与应用

今天来为大家介绍 Django 框架的模型部分,模型是真实数据的简单明确的描述,它包含了储存的数据所必要的字段和行为,Django 遵循 DRY Principle 。它的目标是你只需要定义数据模型,然后其它的杂七杂八代码你都不用关心,…

总结 TCP 协议的相关特性

TCP协议段格式: 如图, 端口号: 是其中一个重要的部分,知道端口号才能确认数据交给哪个应用程序(端口号属于传输层的概念). 4位首部长度:4bit表示的范围是0->15,在此处,单位是"4字节",因此,将这里的数值 * 4,才是真正的报头长度,即TCP 报头最大长度,60…

基于Python的高校毕业生离校系统SpringBoot+Vue【源码+lw】

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、微信小程序、Python、Android、大数据等,大家有这一块的问题可以一起交流! 💕&#x1f495…

Spring Security OAuth2.0认证授权

(单体项目的认证,微服务项目的认证授权) 1.基本概念 1.1 什么是认证 进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条等,下边拿微信来举例子说明认证相关的基本概念,在…

【bug】Unity无法创建项目

bug UnityHub无法创建项目 UnityHub无法创建项目 出现的问题:在创建新项目时弹出来一个 无法创建项目 尝试的方法: 刷新许可证 ❌没用退出账号重新登陆 ❌没用重启电脑 ❌没用 最后发现是什么问题呢? 2021.3.3这个版本我之前在资源管理器中…

C++------利用C++实现二叉搜索树【数据结构】

文章目录 二叉搜索树概念二叉搜索树的操作查找插入删除 二叉搜索树的应用 二叉搜索树 概念 什么是二叉搜索树,二叉搜索树就是指左孩子永远比根小右孩子永远比根大。这个规则适用于所有的子树。 上面的就是一棵二叉搜索树,我们还可以发现这棵树走一个中…

大语言模型与语义搜索;钉钉个人版启动内测,提供多项AI服务

🦉 AI新闻 🚀 钉钉个人版启动内测,提供多项AI服务 摘要:钉钉个人版正式开始内测,面向小团队、个人用户、高校大学生等人群。该版本具有AI为核心的功能,包括文生文AI、文生图AI和角色化对话等。用户可通过…

LeetCode 2236. 判断根结点是否等于子结点之和

【LetMeFly】2236.判断根结点是否等于子结点之和 力扣题目链接:https://leetcode.cn/problems/root-equals-sum-of-children/ 给你一个 二叉树 的根结点 root,该二叉树由恰好 3 个结点组成:根结点、左子结点和右子结点。 如果根结点值等于…

学习网络编程No.3【socket理论实战】

引言: 北京时间:2023/8/12/15:32,自前天晚上更新完文章,看了一下鹅厂新出的《扫毒3》摆烂至现在,不知道是长大了,还是近年港片就那样,给我的感觉不是很好,也可能是国内市场对港片不…

通过微软Azure调用GPT的接口API-兼容平替OpenAI官方的注意事项

众所周知,我们是访问不通OpenAI官方服务的,但是我们可以自己通过代理或者使用第三方代理访问接口 现在新出台的规定禁止使用境外的AI大模型接口对境内客户使用,所以我们需要使用国内的大模型接口 国内的效果真的很差,现在如果想使…

计算机视觉掩模区域与二值图像

掩模区域 在图像处理中,我们经常需要对图像中的某些特定区域进行操作,例如对某个区域进行滤波、变换、裁剪或者其他处理。为了实现这些操作,我们需要明确指定这些区域,这就是掩模区域的作用。 掩模区域通常由一个二值图像表示&…

Android Alarm闹钟API使用心得

前言 有什么办法可以在不打开App的时候,也能够触发一些操作呢?比如说发送通知,解决这个需求的办法有很多种选择,比如说官方推荐的WorkManager API,可以在后台执行一次性、耗时、定时的任务,但WorkManager是…