当前位置: 首页 > news >正文

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出错&#xff…...

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池的代码示例 五、总结 一、引言 在爬虫程序中&#xff0c;代理IP的使用是避免IP被封禁、提高爬取效率的重要手段。本文将详细介绍如何使用Python语言创建一个爬虫代理IP池&#xff0c;包括代理I…...

Oracle研学-介绍及安装

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

建设银行新余市分行积极开展国债下乡宣传活动

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

【javascript】如何判断一个对象属性是否存在

前言 在javascript里&#xff0c;可以有多种判断对象属性是否存在的方法&#xff0c;使用哪种方法来判断&#xff0c;取决于对 “存在” 两个字的定义是什么。 方法1&#xff1a;对比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 内核中的一个文件&#xff0c;用于实现 HID&#xff08;Human…...

Paraformer 语音识别原理

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

用户注册这样玩,保你平安

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

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)覆盖优化 - 附代码

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

3dsMax插件Datasmith Exporter安装使用方法

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

Rocketmq架构

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

中兴亮相中国国际现代化铁路技术装备展览会 筑智铁路5G同行

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

从零学算法15

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

《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类&#xff0c;调用…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...