Python实现一箭穿心
文章目录
- 🎄效果
- 🏳️🌈Turtle模块
- 🌹代码
- 🌺代码讲解
🎄效果
🏳️🌈Turtle模块
Turtle是一个绘图工具,是Python标准库中的一个模块。它提供了一种简单而直观的方式来创建图形和动画。通过Turtle,我们可以使用类似于海龟行走的命令来控制一个虚拟的海龟对象在屏幕上绘制图形。
Turtle是基于Logo语言的,Logo是一种编程语言,最初是为教育儿童而设计的。Logo语言中有一个turtle(乌龟)概念,可以控制一个虚拟的乌龟在屏幕上绘制图形。Turtle模块就是将这个概念引入到Python中,并提供了Python语言的接口,使得Python用户可以方便地使用Turtle来绘制图形。
Turtle模块中有许多函数可以用来控制乌龟的行为,比如向前移动、向后移动、旋转、改变画笔颜色等。通过组合和循环运用这些函数,我们可以创造出各种复杂的图形和动画效果。同时,Turtle也是一个非常适合初学者入门绘图的工具,因为它的语法简单易懂,直观易用。
总的来说,Turtle是Python中一个非常实用的绘图工具,可以帮助我们轻松地创建各种图形和动画效果,尤其适合初学者入门绘图。
🌹代码
import turtle as t
t.color('red','pink')
t.begin_fill()
t.width(5)
t.left(135)
t.fd(100)
t.right(180)
t.circle(50,-180)
t.left(90)
t.circle(50,-180)
t.right(180)
t.fd(100)
t.pu()
t.goto(50,-30)
t.pd()
t.right(90)
t.fd(100)
t.right(180)
t.circle(50,-180)
t.left(90)
t.circle(50,-180)
t.right(180)
t.fd(100)
t.end_fill()
t.hideturtle()
t.pu()
t.goto(250,-70)
t.pd()# 箭尾
t.color('yellow')
t.width(5)
t.left(70)
t.fd(50)
t.fd(-50)
t.left(70)
t.fd(50)
t.fd(-50)
t.left(145)
t.fd(20)
t.left(145)
t.fd(50)
t.fd(-50)
t.left(70)
t.fd(50)
t.fd(-50)
t.left(145)
t.fd(20)
t.left(145)
t.fd(50)
t.fd(-50)
t.left(70)
t.fd(50)
t.fd(-50)
t.left(145)
t.width(3)
t.fd(420)
t.right(180)
t.pu()
t.fd(10)
t.pd()
# 箭头
t.begin_fill()
t.left(-30)
t.fd(-15)
t.right(-40)
t.fd(-50)
t.right(-165)
t.fd(-50)
t.end_fill()t.color('red')
t.write('I LOVE YOU', move=False, align='center',font=("Times", 18, "bold"))
t.done()
🌺代码讲解
import turtle as t: 导入turtle库并将其重命名为t。
t.color(‘red’,‘pink’): 设置画笔颜色为红色,填充颜色为粉色。
t.begin_fill(): 开始填充。
t.width(5): 设置画笔宽度为5。
t.left(135): 将画笔左转135度。
t.fd(100): 向前移动100个像素。
t.right(180): 将画笔右转180度,即向相反的方向移动。
t.circle(50,-180): 以半径为50的圆弧进行绘制,角度为-180度。
t.left(90): 将画笔左转90度。
t.circle(50,-180): 以半径为50的圆弧进行绘制,角度为-180度。
t.right(180): 将画笔右转180度,即向相反的方向移动。
t.fd(100): 向前移动100个像素。
t.pu(): 抬起画笔,不绘制轨迹。
t.goto(50,-30): 将画笔移动到坐标为(50, -30)的位置。
t.pd(): 放下画笔,开始绘制轨迹。
t.right(90): 将画笔右转90度。
t.fd(100): 向前移动100个像素。
t.right(180): 将画笔右转180度,即向相反的方向移动。
t.circle(50,-180): 以半径为50的圆弧进行绘制,角度为-180度。
t.left(90): 将画笔左转90度。
t.circle(50,-180): 以半径为50的圆弧进行绘制,角度为-180度。
t.right(180): 将画笔右转180度,即向相反的方向移动。
t.fd(100): 向前移动100个像素。
t.end_fill(): 结束填充。
t.hideturtle(): 隐藏画笔。
t.pu(): 抬起画笔,不绘制轨迹。
t.goto(250,-70): 将画笔移动到坐标为(250, -70)的位置。
t.pd(): 放下画笔,开始绘制轨迹。
t.color(‘yellow’): 设置画笔颜色为黄色。
t.width(5): 设置画笔宽度为5。
接下来的一段代码绘制了箭尾的形状。
t.width(3): 设置画笔宽度为3。
t.fd(420): 向前移动420个像素。
t.right(180): 将画笔右转180度,即向相反的方向移动。
t.pu(): 抬起画笔,不绘制轨迹。
t.fd(10): 向前移动10个像素。
t.pd(): 放下画笔,开始绘制轨迹。
t.begin_fill(): 开始填充。
接下来的一段代码绘制了箭头的形状。
t.end_fill(): 结束填充。
t.color(‘red’): 设置画笔颜色为红色。
t.write(‘I LOVE YOU’, move=False, align=‘center’, font=(“Times”, 18, “bold”)): 在当前位置写文本。
t.done(): 保持窗口显示状态,不会闪退。
在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!
相关文章:

Python实现一箭穿心
文章目录 🎄效果🏳️🌈Turtle模块🌹代码🌺代码讲解 🎄效果 🏳️🌈Turtle模块 Turtle是一个绘图工具,是Python标准库中的一个模块。它提供了一种简单而直观的方式来创…...

机器人AGV小车避障传感器测距
一、A22超声波传感器 该模块是基于机器人自动控制应用而设计的超声波避障传感器,针对目前市场上对于超声波传感器模组盲区大、测量角度大、响应时间长、安装适配性差等问题而着重设计。 具备了盲区小、测量角度小、响应时间短、过滤同频干扰、体积小、安装适配性高…...

Boost:进程间共享内存
Linux编程:进程间共享内存_linux 判断共享内存是否存在-CSDN博客 介绍了如何在linux的进程间共享内存。 Boost对共享内存进行了封装,可以更为方便的使用共享内存。 1.创建共享内存 #include <boost/interprocess/shared_memory_object.hpp> using namespace boost::i…...

Android Camera Surface显示相关问题总结
1.默认创建的Preview Surface填充RGBA数据显示异常。 //界面创建的Surface format默认为4(RGB_565),而预览界面所需的格式是RGBA_8888 ANativeWindow_setBuffersGeometry(window, width, height, WINDOW_FORMAT_RGBA_8888); 2.调用ANativeWindow的dequeueBuffer出错ÿ…...

php通过curl方式发送接受xml数据
目录 1、php通过curl方式发送xml数据 2、php通过file_get_contents接受curl方式发送xml数据 1、php通过curl方式发送xml数据 <?php function sendXmlData($url, $xmlData) {$ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFE…...

【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)项目搭建
项目笔记为项目总结笔记,若有错误欢迎指出哟~ 【项目专栏】 【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)项目搭建 持续更新中… java+vue+微信小程序项目】从零开始搭建——健身房管理平台 项目简介Java项目搭建(IDEA)1.新建项目2.项目类型3.项目设置4…...

Python语言创建爬虫代理IP池详细步骤和代码示例
目录 一、引言 二、代理IP的选择 三、使用代理IP的代码示例 四、创建代理IP池的代码示例 五、总结 一、引言 在爬虫程序中,代理IP的使用是避免IP被封禁、提高爬取效率的重要手段。本文将详细介绍如何使用Python语言创建一个爬虫代理IP池,包括代理I…...

Oracle研学-介绍及安装
一 ORACLE数据库特点: 支持多用户,大事务量的事务处理数据安全性和完整性控制支持分布式数据处理可移植性(跨平台,linux转Windows) 二 ORACLE体系结构 数据库:oracle是一个全局数据库,一个数据库可以有多个实例,每个…...

建设银行新余市分行积极开展国债下乡宣传活动
近日,为了普及国债知识,提高农村居民对国债的认知度和投资意识,建设银行新余市分行组织员工前往下村开展了一场国债下乡宣传活动。 活动当天,工作人员早早地来到了下乡地点,悬挂起了国债宣传横幅,并摆放了…...

【javascript】如何判断一个对象属性是否存在
前言 在javascript里,可以有多种判断对象属性是否存在的方法,使用哪种方法来判断,取决于对 “存在” 两个字的定义是什么。 方法1:对比undefined const obj {} if (obj.id ! undefined) {console.log(存在) } else {console.l…...

Linux-hid
/kernel/drivers/hid/hid-core.c hid总线驱动/kernel/drivers/hid/hid-generic.c hid通用驱动/kernel/drivers/hid/hid-multitouch.c 多点触控面板驱动/kernel/drivers/hid/hid-quirks.c hid-quirks.c 是 Linux 内核中的一个文件,用于实现 HID(Human…...

Paraformer 语音识别原理
Paraformer(Parallel Transformer)非自回归端到端语音系统需要解决两个问题: 准确预测输出序列长度,送入预测语音信号判断包含多少文字。 如何从encoder 的输出中提取隐层表征,作为decoder的输入。 采用一个预测器(Predictor&…...

用户注册这样玩,保你平安
前言 基本上每个系统系统都包含用户注册、发送验证码等基本操作。在前些年,我还记得我在逛 csdn、贴吧、网易新闻等网站的时候是可以不登陆也能浏览完网页内容的,但是近几年这些网站已经改成了不登陆不让用,浏览网页时不时提醒你要进行登录&…...

QXDM Filter使用指南
QXDM Filter使用指南 1. QXDM简介2 如何制作和导入Filter2.1 制作Filter2.1.1 制作Windows环境下Filter2.1.2 制作Linux环境下Filter 2.2 Windows环境下导入Filter 3 Filter配置3.1 注册拨号问题3.1.1 LOG Packets(OTA)3.1.2 LOG Packets3.1.3 Event Reports3.1.4 Message Pack…...

智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝴蝶算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…...

3dsMax插件Datasmith Exporter安装使用方法
3dsMax插件Datasmith Exporter安装使用方法 某些文件格式无法用Datasmith直接导入虚幻引擎,这些数据必须先被转换为Datasmith能够识别的文件格式。Datasmith Exporter插件就可以帮助您的软件导出可以被Datasmith导入虚幻引擎的.udatasmith格式文件。 在开始使用虚幻…...

Rocketmq架构
NameServer:作为注册中心,提供路由注册、路由踢出、路由发现功能,舍弃强一致,保证高可用,集群中各个节点不会实时通讯,其中一个节点下线之后,会提供另外一个节点保证路由功能。 Rocket mq name…...

中兴亮相中国国际现代化铁路技术装备展览会 筑智铁路5G同行
近日,第十六届中国国际现代化铁路技术装备展览会在北京中国国际展览中心举办,中兴以“数智铁路,5G同行”主题亮相本次展览会,并全面展示了“数字铁路网络基础设施”、“云边结合的铁路行业云”、“数字铁路赋能赋智”等方面的最新…...

从零学算法15
15.给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 …...

《Effective C++》条款27
尽量少做转型动作 class A { public:A(int x) :a(x) {};virtual void add(){a;} private:int a; }; class B :public A { public:B(int x) :b(x),A(x) {};virtual void add(){static_cast<A>(*this).add();b;}private:int b; }; 如上描述把子类转型为A类,调用…...

无图谱不AI之三元组数据保存Neo4j
目录 1. 代码学习1.1 源代码1.2 代码解读 没有图谱称为弱人工智能,有图谱的称为强人工智能。 图谱可以让机器学习和人工智能具备推理能力。 1. 代码学习 1.1 源代码 # -*- coding: utf-8 -*- from py2neo import Node, Graph, Relationship# 可以先阅读下文档&a…...

Mybatisplus同时向两张表里插入数据[事务的一致性]
一、需求:把靶器官的数据,单独拿出来作为一个从表,以List的方式接收这段数据; 此时分析,是需要有两个实体的,一个是主表的实体,一个是从表的实体,并在主表实体新增一个List 字段来接…...

天眼销:精准的企业名录
企业名录的重要性,对于销售而言都是极其重要的。本期为家人们分享如何正确挑选出优质的企业名录渠道,避免走一些弯弯坑坑。 为了有效利用企业名录进行客户开发,您需要关注信息的准确性、可提供的资源数量以及信息的时效性。能否根据您的需求…...

TypeError: Cannot read properties of null (reading ‘shapeFlag‘)
vue3 开发过程遇到这样一个报错 TypeError: Cannot read properties of null (reading shapeFlag)最后发现是ref定义的变量,在访问时没有使用.valuereactive 变量初始化是数组,如果使用字符串赋值时也会报这个错。...

视频监控平台EasyCVR多场景应用,AI视频分析技术助力行业升级转型
传统的视频监控系统建设,经常存在各方面的因素制约,造成管理机制不健全、统筹规划不到位、联网共享不规范,形成“信息孤岛”、“数据烟囱”。在监控系统的建设中缺乏统一规划,标准不统一、视频图像信息利用率低等问题日益突出。随…...

如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!
目录 1. 前言 2. 本地FTP搭建 2.1 Serv-U下载和安装 2.2 Serv-U共享网页测试 2.3 Cpolar下载和安装 3. 本地FTP发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4. 公网访问测试 5. 总结 1. 前言 科技日益发展的今天,移动电子设备似乎成了我们生活的主角&am…...

c++--类型的基础
1.常量对象,常量成员函数 (1).常量对象 常量对象的引用和指针不能调用类的普通的成员函数。只能调用常量成员函数。 (2).常量成员函数:把const放在类成员函数参数列表后。表示隐含的this是一个指向常量的指针 (3).当创建一个const对象时,直到…...

Python with提前退出:坑与解决方案
Python with提前退出:坑与解决方案 问题的起源 早些时候使用with实现了一版全局进程锁,希望实现以下效果: Python with提前退出:坑与解决方案 全局进程锁本身不用多说,大部分都依靠外部的缓存来实现的,r…...

Vue3-provide和inject
作用和场景:顶层组件向任意的底层组件传递数据和方法,实现跨层组件通信 跨层传递普通数据: 1.顶层组件通过provide函数提供数据 2.底层组件通过inject函数获取数据 既可以传递普通数据,也可以使用ref传递响应式数据(…...

Python与设计模式--适配器模式
23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...