七夕前的爱心代码!

话不多说上代码!

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.mzph.cn/news/44830.shtml

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

相关文章

excel 动态表头与合并列

零、希望Springboot-java导出excel文件,包括动态表头与下边合并的列 使用 org.apache.poi 与自己封装工具类实现相关功能。代码如下 一、代码 1、依赖 implementation(group: org.apache.poi,name: poi-ooxml,version: 4.1.0)implementation(group: org.apache.po…

常见架构类型

目录 1.单机架构 2.应用数据分离架构 3.读写分离架构 4.冷热分离架构 5.垂直分库架构 6.微服务架构 7.容器编排架构 1.单机架构 单机架构是简单的将应用服务和数据库服务部署到同一台机器上。 缺点:存在很大的性能限制。 2.应用数据分离架构 引入负载均衡&a…

探索高级UI、源码解析与性能优化,了解开源框架及Flutter,助力Java和Kotlin筑基,揭秘NDK的魅力!

课程链接: 链接: https://pan.baidu.com/s/13cR0Ip6lzgFoz0rcmgYGZA?pwdy7hp 提取码: y7hp 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍: 📚【01】Java筑基:全方位指…

Dubbo高手之路3,Dubbo服务消费详解

目录 引言1. 介绍 Dubbo 服务消费的详解的目的和背景2. 概述 Dubbo 服务消费的过程和核心概念 一、Dubbo 服务消费的基础知识1. Dubbo 服务消费的架构和流程2. Dubbo 服务消费的基本配置和使用方法 二、Dubbo 服务消费的注册与发现1. Dubbo 服务消费的注册中心和发布中心的基本…

LEADTOOLS Imaging SDK Crack

LEADTOOLS Imaging SDK Crack 高级开发人员工具包包括ActiveX和WPF/XAML控件。 LEADTOOLS Imaging SDK为文件格式导入/导出、图像压缩、图像显示和效果、颜色转换、图像处理、TWAIN扫描、图像通用对话框、数据库集成、打印和互联网提供了基本和高级的彩色图像功能。 LEADTOOLS …

分布式锁实现方式

分布式锁 1 分布式锁介绍 1.1 什么是分布式 一个大型的系统往往被分为几个子系统来做,一个子系统可以部署在一台机器的多个 JVM(java虚拟机) 上,也可以部署在多台机器上。但是每一个系统不是独立的,不是完全独立的。需要相互通信&#xff…

奇舞周刊第503期:图解串一串 webpack 的历史和核心功能

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 图解串一串 webpack 的历史和核心功能 提到打包工具,可能你会首先想到 webpack。那没有 webpack 之前,都是怎么打包的呢?webpack 都有哪些功能&…

Framework入门03-Activity组件

3-1 说说Activity的启动流程 启动Activity会经历哪些生命周期回调 冷启动大致流程,涉及哪些组件,通信过程是怎么样的? Activity启动过程中,生命周期回调的原理? Activity.startActivity -> ActivityManagerNative.getDefault().star…

《游戏编程模式》学习笔记(六)单例模式 Singleton Pattern

单例模式的定义 保证一个类只有一个实例,并且提供了访问该实例的全局访问点。 定义这种东西一般都是不说人话的,要想要理解这句话的意思,我们得把它揉开了才能搞明白。 我们先看前半句 “保证一个类只有一个实例”,单例一般使用…

jenkins pipeline方式一键部署github项目

上篇:jenkins一键部署github项目 该篇使用jenkins pipeline-script一键部署,且介绍pipeline-scm jenkins环境配置 前言:按照上篇创建pipeline任务,结果报mvn,jdk环境不存在,就很疑惑,然后配置全…

Lemon8与中国各大社交平台的内容输出整合,将会掀起何种风浪?

近期,Lemon8迅速在北美地区展开了布局,短短几天的时间,下载量就冲到了美国APP下载总榜的前十,随后更是直登顶生活类APP首榜。作为字节跳动旗下的出海内容平台,一经问世后,就受到了大量用户的关注,并吸引了海外媒体以及营销人士的目光。那么Lemon8与中国各大社交平台的内容输出整…

实战项目:基于主从Reactor模型实现高并发服务器

项目完整代码仿mudou库one thread one loop式并发服务器实现: 仿muduo库One Thread One Loop式主从Reactor模型实现⾼并发服务器:通过模拟实现的⾼并发服务器组件,可以简洁快速的完成⼀个⾼性能的服务器搭建。并且,通过组件内提供的不同应⽤层…

开发环境搭建

Anaconda安装搭建Python环境 官网下载Anaconda anaconda官网安装Anaconda设置系统环境变量 按照实际安装路径新建填写红框环境变量 验证环境是否正常运行 WINR输入cmd conda --version python --version pip --version 显示版本信息即为正常 VSCODE Python ShiftCtrlP顶部…

第六阶|见道明心的笔墨(上)从书法之美到生活之美——林曦老师的线上直播书法课

如果你有需要,可以找我的,我这边有老师的所有课程 如果你有需要,可以找我的,我这边有老师的所有课程

Less文件可以做哪些复杂操作

在Less文件中,你可以进行许多复杂的操作来增强样式表的功能和灵活性。以下是一些常见的操作: 变量(Variables):使用符号定义和使用变量,可以在整个样式表中重复使用相同的值,以便轻松修改和维护…

【NEW】视频云存储EasyCVR平台H.265转码配置增加分辨率设置

关于视频分析EasyCVR视频汇聚平台的转码功能,我们在此前的文章中也介绍过不少,感兴趣的用户可以翻阅往期的文章进行了解。 安防视频集中存储EasyCVR视频监控综合管理平台可以根据不同的场景需求,让平台在内网、专网、VPN、广域网、互联网等各…

抵御时代风险:高级安全策略与实践

目录 网页篡改攻击 流量攻击 数据库攻击 恶意扫描攻击 域名攻击 在今天的数字时代,网站已经成为企业、机构和个人展示信息、交流互动的重要平台。然而,随着网络攻击技术的不断进步,网站也面临着各种安全威胁。本文将探讨五种常见的网络攻…

【机器学习】— 2 图神经网络GNN

一、说明 在本文中,我们探讨了图神经网络(GNN)在推荐系统中的潜力,强调了它们相对于传统矩阵完成方法的优势。GNN为利用图论来改进推荐系统提供了一个强大的框架。在本文中,我们将在推荐系统的背景下概述图论和图神经网…

sqlite3将词典导入数据库

使用sqlite3代码实现将词典导入数据库中 #include <head.h> #include <sqlite3.h> #include <strings.h> #include <unistd.h> int main(int argc, const char *argv[]) {sqlite3 *db NULL;if(sqlite3_open("./dict.db",&db) ! SQLITE…

shell 简单且常用的几种

目录 一、配置环境的shell脚本 二、系统资源脚本 一、要求 二、脚本内容 三、脚本解析 四、赋权并验证 一、配置环境的shell脚本 systemctl stop firewalld systemctl disable firewalld systemctl stop NetworkManager systemctl disable NetworkManager setenforce…