Python爱心表白,快去发给你心仪的人叭~

news2024/11/25 4:45:06

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?type=collect个人简介:打工人。

持续分享:机器学习、深度学习、python相关内容、日常BUG解决方法及Windows&Linux实践小技巧。

如发现文章有误,麻烦请指出,我会及时去纠正。有其他需要可以私信我或者发我邮箱:zhilong666@foxmail.com

目录

Turtle介绍及使用方法

         创建一个画布和海龟对象

         控制海龟移动

         设置海龟属性 

         事件处理 

表白爱心源码

效果图


Turtle介绍及使用方法

        Turtle库是由Python创始人之一的Guido van Rossum创建的。它最初是为了在Python中编写特定于窗口的图形图像而设计的,以便学生们可以在一个友好的环境中学习编程。

        Turtle库是Python语言中一个强大的图形库,专门针对初学者设计而成,它提供了窗体、画布和海龟等基本元素,可以在画布上绘制线条、图形及动画等,支持向前、向后、左转、右转、上抬、下落、填充等基本绘图命令,通过编写简单的命令序列,可以实现一些有趣的图形和动画效果。

         创建一个画布和海龟对象

turtle库提供了两个主要的对象,一个是画布(Screen)对象,另一个是海龟(Turtle)对象。可以使用以下命令来创建它们:

import turtle

win = turtle.Screen() # 创建一个画布 

t = turtle.Turtle() # 创建一个海龟对象 

         控制海龟移动

在turtle库中,可以使用一些基本的指令来控制海龟的移动:

  • forward(distance):向当前方向前进指定距离
  • backward(distance):向相反方向后退指定距离
  • left(angle):向左转指定角度
  • right(angle):向右转指定角度
  • goto(x, y=None):移动海龟到指定位置
  • setx(x):设置海龟的x坐标
  • sety(y):设置海龟的y坐标
  • setheading(angle):设置海龟的朝向角度
  • circle(radius, extent=None, steps=None):绘制指定半径的圆

以下是一个简单的例子:

import turtle

win = turtle.Screen()
t = turtle.Turtle()

# 前进100个像素
t.forward(100)

# 左转90度
t.left(90)

# 后退50个像素
t.backward(50)

# 移动到(0, 0)
t.goto(0, 0)

# 绘制半径为50的圆
t.circle(50)

win.mainloop()

         设置海龟属性 

可以使用以下指令来设置海龟的属性:

  • shape(shape):设置海龟的形状,可以是’turtle’、‘arrow’、‘circle’、'square’等
  • color(color):设置海龟的颜色,可以是’r’、‘g’、'b’等
  • pensize(width):设置画笔的宽度
  • penup():将画笔抬起来,移动时不绘制线条
  • pendown():将画笔放下,移动时绘制线条
  • begin_fill():开始填充图形
  • end_fill():结束填充图形

以下是一个例子:

import turtle

win = turtle.Screen()
t = turtle.Turtle()

# 设置海龟属性
t.shape('turtle')
t.color('red')
t.pensize(3)

# 绘制三角形并填充
t.begin_fill()
for i in range(3):
    t.forward(100)
    t.left(120)
t.end_fill()

win.mainloop()

         事件处理 

可以使用turtle库提供的事件处理机制来响应鼠标、键盘等事件。下面是一个简单的例子:

import turtle

def move_forward():
    t.forward(10)

def move_left():
    t.left(10)

def move_right():
    t.right(10)

win = turtle.Screen()
t = turtle.Turtle()

win.onkey(move_forward, 'Up')
win.onkey(move_left, 'Left')
win.onkey(move_right, 'Right')

win.listen()
win.mainloop()

        在这个例子中,我们定义了三个函数来响应上、左、右键的动作,然后使用onkey()函数将这些函数与相应的键位绑定,最后使用listen()命令开始监听事件。

表白爱心源码

# -*- coding: utf-8 -*-

import turtle
import math
import time


if __name__ == '__main__':
    turtle.pen()
    t=turtle
    t.up()
    t.goto(0,150)
    t.down()
    t.color('red')
    t.begin_fill()
    t.fillcolor('red')
    t.speed(1)
    t.left(45)
    t.forward(150)
    t.right(45)
    t.forward(100)
    t.right(45)
    t.forward(100)
    t.right(45)
    t.forward(100)
    t.right(45)
    t.forward(250+math.sqrt(2)*100)
    t.right (90)
    t.speed(2)
    t.forward(250+100*math.sqrt(2))
    t.right(45)
    t.forward(100)
    t.right(45)
    t.forward(100)
    t.right(45)
    t.forward(100)
    t.right(45)
    t.forward(150)
    t.end_fill()
    t.goto(-10,0)
    t.pencolor('white')
    #L
    t.pensize(10)
    t.goto(-50,0)
    t.goto(-50,80)
    t.up ()
    #I
    t.goto(-100,0)
    t.down()
    t.goto(-160,0)
    t.goto(-130,0)
    t.goto(-130,80)
    t.goto(-160,80)
    t.goto(-100,80)
    t.up()
    #O
    t.goto(10,25)
    t.down()
    t.right(45)
    t.circle(25,extent=180)
    t.goto(60,55)
    t.circle(25,extent=180)
    t.goto(10,25)
    t.up()
    t.goto(75,80)
    t.down()
    t.goto(100,0)
    t.goto(125,80)
    t.up()
    t.goto(180,80)
    t.down()
    t.goto(140,80)
    t.goto(140,0)
    t.goto(180,0)
    t.up()
    t.goto(180,40)
    t.down()
    t.goto(140,40)
    #U
    t.up()
    t.goto(-40,-30)
    t.down()
    t.goto(-40,-80)
    t.circle(40,extent=180)
    t.goto(40,-30)
    t.hideturtle()
    time.sleep(10)

效果图

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

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

相关文章

Hive ---- Hive入门

Hive ---- Hive入门 1. 什么是Hive1. Hive简介2. Hive本质 2. Hive架构原理1. 用户接口:Client2. 元数据:Metastore3. 驱动器:Driver4. Hadoop 1. 什么是Hive 1. Hive简介 Hive是由Facebook开源,基于Hadoop的一个数据仓库工具&a…

关于 mysql本地使用ODBC连接突然无法连接上且无法搜索到database的 解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/130360385 红胖子网络科技的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

关于Open Shift(OKD) 中应用管理部署的一些笔记

写在前面 因为参加考试,会陆续分享一些 OpenShift 的笔记博文内容为介绍 openshift 不同的创建应用的方式,包括: 基于 IS 创建应用基于镜像创建应用基于源码和 image 创建应用基于源码和 IS 创建应用基于模板创建应用 学习环境为 openshift v…

ChatGPT + MindShow 三分钟搞定PPT制作

制作一份“通用性”的PPT需要几步? 三步 接下来,我们借助ChatGPT和MindShow,大概三分钟完成操作,就能制作出来完胜大部分人的PPT文件。具体可看文末效果导示。 解锁更多AIGC(ChatGPT、AI绘画)玩法&#…

与其关注“孔乙己的长衫”,不如来看看什么是套接字

孔乙已是鲁迅笔下人物,穷困流倒还穿着象征读书人的长衫,迁腐、麻木。最近,大家自我调佩是“当代孔乙己”,学历成为思想负担,找工作时高不成低不就。 套接字概念 Socket本身有“插座”的意思,在Linux环境下…

Model-Contrastive Federated Learning 论文解读(CVPR 2021)

Model-Contrastive Federated Learning 论文解读 对比学习SimCLR 对比学习的基本想法是同类相聚,异类相离 从不同的图像获得的表征应该相互远离,从相同的图像获得的表征应该彼此靠近 具体框架: T随机数据增强模块:随机裁剪然…

米文动力 EVO Orin 刷机和克隆操作说明

刷机说明 博主在卸载 cuda 以及 python 后重启后黑屏无法显示,重刷系统才恢复正常。 下载 EVO Orin 用户手册(官网没有,所以上传到 CSDN 供下载)官网下载 EVO Orin 镜像文件 使用 tar -xvf 解压下载的 bootloader 和镜像包得到 …

实用提示和技巧:如何优化您的接口自动化测试工作流程?

目录 摘要 流程概述 常用工具 示例代码 结论 摘要 接口自动化测试是软件开发过程中至关重要的一环,它可以为开发团队提供稳定、高效的交付管道,并保证质量。在本文中,我们将介绍接口自动化测试的基本流程和常用工具,并提供一…

day33—选择题

文章目录 1.若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是(A)2.Linux文件权限一共10位长度,分成四段,第三段表示的内容是(C)3.进程阻…

计算机毕业论文内容参考|人工智能|探索网络与人工智能的交叉领域

文章目录 导文文章重点摘要:引言:挑战与机遇:实际应用:结论:导文 计算机毕业论文内容参考|人工智能|探索网络与人工智能的交叉领域 文章重点 摘要: 人工智能(AI)和计算机网络的结合导致了一个新的研究领域,称为网络人工智能。网络人工智能涉及开发使计算机能够学习、…

.Net Framework 4.6.1+版本的Winform程序开启Web服务,支持Http webapi

Winform程序开启Web服务 背景思路方法1方法2方法3(本文使用的方法) 实现在winform程序中引入几个nuget包新建一个Startup类(叫什么名字都行)修改Program文件创建controller 运行效果(打开浏览器,输入如下地址&#xff…

“量子+生成式AI”!IBM联合生物制药公司Moderna进行疫苗研究

​ (图片来源:网络) 4月20日,以COVID-19疫苗而闻名的生物技术和制药公司Moderna Inc.表示,宣布正在与IBM公司合作,利用量子计算和生成式人AI探索推进研究mRNA技术的方法。 双方签署了一项协议,允…

python 基础系列篇:七、以函数方式编写一个数字华容道

python 基础系列篇:七、以函数方式编写一个数字华容道 数字华容道游戏分析开始编写完整代码代码解说定义方法的规律 小结 数字华容道 嗯,就是一个简单的益智游戏,把数字按照特定规律排列,并比矩阵少一个格,用来进行移…

CRM客户关系管理系统主要有哪些功能?

一、CRM客户管理系统是什么 客户关系管理(Customer Relationship Management,简称CRM),是指企业为提高核心竞争力,利用相应的信息技术以及互联网技术协调企业与顾客间在销售、营销和服务上的交互,从而提升…

将CSDN博客内容转为PDF进行下载

打开博客文章页面–F12–控制台–输入以下代码-回车–选择“另存为PDF”–设置样式并预览–打印 回车之后需要等待一些时间 设置之后导出即可 (function(){ use strict;var articleBox $("div.article_content");articleBox.removeAttr("style");…

超低延时交换机助力金融证券极速交易场景应用

一、 极速交易技术的兴起 随着计算机技术和金融科技的快速发展,量化交易和高频交易在全球金融市场中已经被运用到各种交易场景,特别是在股票,期货,期权等衍生品市场,已经逐渐取代人工做市(market maker)&am…

Android 动画—补间动画

帧动画是通过连续播放图片来模拟动画效果,而补间动画开发者只需指定动画开始,以及动画结束"关键帧",而动画变化的"中间帧"则由系统计算并补齐! 1.补间动画的分类和Interpolator Andoird所支持的补间动画效果…

【应急响应】挖矿脚本检测指南威胁情报样本定性文件清除入口修复

文章目录 挖矿样本-Win&Linux-危害&定性Linux-Web安全漏洞导致挖矿事件Windows-系统口令爆破导致挖矿事件Linux-个人真实服务器被植入挖矿分析 挖矿样本-Win&Linux-危害&定性 危害:CPU拉满,网络阻塞,服务器卡顿、耗电等 定性…

Opencv+Python笔记(十)灰度直方图、直方图均衡化、掩模的应用

目录 一、灰度直方图二、图像掩模的应用三、直方图均衡化1.直方图均衡化2.自适应的直方图均衡化 一、灰度直方图 概念: 灰度直方图是关于灰度级分布的函数,是对图像中灰度级分布的统计。灰度直方图是将数字图像中的所有像素,按照灰度值的大小…