百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

python萌新必看的海龟画图讲解

itomcoil 2025-01-21 18:34 18 浏览

目录

  • 1. 初探海龟绘图
  • 1.1 了解海龟绘图的坐标系1.2 海龟绘图的三要素1.3 绘制第一只海龟


最近博主在 CSDN 上看到许多关于海龟画图的案例,如画圣诞树、五角星等,但是都是直接给出了源码以及一些简单的注释,没有对其详细的说明,会让很多初学者迷糊很久,故这里博主详细地对 turtle 模块中的方法进行详解,让广大博友能够做到自由画图。


海龟绘图是 Python 内置的一个比较有趣的模块,模块名称为 turtle。它最初源于 20世纪60年代 的 Logo 语言,之后成为了 Python 的内置模块。海龟绘图提供了一些简单的绘图方法,可以根据编写的控制指令(代码),让一个 “海龟” 在屏幕上来回移动,而且可以在它爬行的路径上绘制图形。通过海龟绘图,不仅可以在屏幕上绘制图形,还可以看到整个绘制过程。另外,海龟绘图对初学者十分友好,它能够轻松地编写出很多有趣的实例。

1. 初探海龟绘图

海龟绘图是 Python 内置的模块,在使用前需要导入该模块,可以使用以下几种方法导入:

import turtle  # 通过模块名来使用其中的方法、属性
import turtle as t  # 通过别名t来使用其中的方法、属性
from turtle import *  # 可以直接使用其中的方法、属性
123

1.1 了解海龟绘图的坐标系

在学习海龟绘图之前,需要先了解海龟绘图的坐标系。海龟绘图采用的是平面坐标系,即画布(窗口)的中心为原点(0,0),横向为 x 轴,纵向为 y 轴,x 轴控制水平位置,y 轴控制垂直位置。例如,一个 400×320 的画布,对应的坐标系如下图所示。


在上图中,绿色虚线框为画布大小。海龟活动的空间为绿色虚线框以内。即 x 轴的移动区间为 -200~200,y 轴的移动区间为 -160~160。同数学中一样,表示海龟所在位置(即某一点)的坐标为 (x, y)。

1.2 海龟绘图的三要素

采用海龟绘图有三个关键要素,即方向、位置和画笔。在进行海龟绘图时,主要就是控制这些要素来绘出我们想要的图形。下面分别进行介绍。

  1. 方向 在进行海龟绘图时,方向主要用于控制海龟的移动方向。主要有以下 3 个方法进行设置
    left()/lt() 方法:让海龟左转 (逆时针) 指定度数。
    right()/rt() 方法:让海龟右转 (顺时针) 指定度数。
    setheading()/seth() 方法:设置海龟的朝向为0(东)、90(北)、180(西)或 270(南)。
  2. 位置 在进行海龟绘图时,位置主要用于控制海龟移动的距离。主要有以下 6 个方法进行设置:
    forward(distance):让海龟向前移动指定距离,参数 distance 为有效数值。
    backward(distance):让海龟向后退指定距离,参数 distance 为有效数值。
    goto(x,y):让海龟移动到画布中的特定位置。即坐标 (x,y) 所指定的位置。
    setx(x):设置海龟的横坐标到 x,纵坐标不变。
    sety(y):设置海龟的纵坐标到 y,横坐标不变。
    home():海龟移至初始坐标(0,0),并设置朝向为初始方向。
  3. 画笔 海龟绘图中的画笔就相当于现实生活中绘图所用的画笔。在海龟绘图中,通过画笔可以控制线条的粗细、颜色和运动的速度。关于画笔的详细介绍请看后续。

1.3 绘制第一只海龟

# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:2.绘制一只向前爬行的海龟.py
@time:2020/12/29
"""

import turtle  # 导入海龟绘图模块

t_ufo = turtle.Turtle()  # 创建一只小海龟,命名为t_ufo 等价==>turtle.Pen()
t_ufo.forward(200)  # 向前爬行200像素
# 海龟绘图默认情况下,光标为箭头,可以通过海龟的shape()方法进行修改
# 将光标修改为海龟形状
t_ufo.shape("turtle")  # 设置为海龟形状
turtle.done()  # 海龟绘图程序的结束语句(开始主循环) 等价==> turtle.mainloop()
"""
注意:如果在屏幕上只需要有一只小海龟,那么也可以不创建海龟对象,直接使用turtle作为海龟对象即可。
"""
123456789101112131415161718

程序运行结果如下:

多说一句,很多人学Python过程中会遇到各种烦恼问题,没有人解答容易放弃。小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

相关推荐

python unittest 基本用法(python pytest)

unittest的使用分为6个步骤:1.导入unittest模块2.定义测试类,父类为unittest.TestCase可继承unittest.TestCase的方法,如setUp和tearDown方...

python中如何利用递归原理找出文件夹中的全部文件

在python中要想查看文件夹中的文件,需要先导入os模块,在python中导入os模块后,定义一个空的列表,用来接收返回的文件,importoslist1=[]接下来,我们定义一个函数,这个函...

Python读取配置文件(config.ini),写入配置文件

一、读取配置文件我的目录如下,在config下有一个config.ini配置文件配置文件内容#定义config分组[config]platformName=AndroidappPackage...

python 文件操作(python文件操作添加下一行)

在Python中,可以使用内置的文件操作函数和方法来进行文件的读取、写入和操作。下面是一些常见的文件操作方法:打开文件:使用open()函数来打开一个文件,并返回一个文件对象。你需要指定文件的路径和打...

失业程序员复习python笔记——excel读写处理

Excel是我们在工作中用到的最频繁的软件之一,它有着强大的计算能力和便捷的图表功能。今天记录一下怎么用python操作excel文件安装excel扩展库如果要用Python操作Excel文...

Python的文件处理(python文件处理方法)

一、文件处理的流程1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件示例:d=open('abc')data1=d.read()pri...

Python读写docx文件(python如何读写文件)

Python读写docx文件Python读写word文档有现成的库可以处理pipinstallpython-docx安装一下。https://python-docx.readthedocs.io/...

(简单入门易懂)实例详解:Python csv文件的读写操作

今天为大家带来的内容是:简单入门易懂的是咧详解:Pythoncsv文件的读写操作本文内容主要介绍了Pythoncsv文件的读写操作实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有...

Python3查看文件是否存在,以及读、写与执行的属性

目录技术背景代码实现测试分析总结概要版权声明技术背景在使用python对系统文件进行操作的项目中,经常需要用到对本地文件的存在和读写进行判断的操作。最常用的比如os.exists函数,可以很方便的判断...

Python常用文件操作库使用详解(python中文件操作的例子)

Python生态系统提供了丰富的文件操作库,可以处理各种复杂的文件操作需求。本教程将介绍Python中最常用的文件操作库及其实际应用。一、标准库核心模块1.1os模块-操作系统接口主要功能:文件...

python入门 输入与输出——读和写文件

以下是Python文件读写的入门指南,包含基础操作、安全写法及实用技巧:一、文件操作基础步骤打开文件→读写操作→关闭文件(务必确保最后关闭文件,避免资源泄露)二、文件读取1.基本读取#方法...

第41讲 基本文件操作(和猫妹学Python)

小朋友们好,大朋友们好!我们今天基本文件操作,要学习的内容如下:什么是文件,什么是目录创建和打开文件关闭文件with语句打开文件写入文件内容读取文件什么是文件,什么是目录文件是计算机存储信息的一种形式...

Python自动化办公自学笔记(八)文件操作

一、文件使用在Python里面,文件分为两种类型,一种是文本文件,后缀名为“.txt”,由单一特定编码的字符组成;另一种是二进制文件,由比特0和比特1组成。Python对以上两种文件都有统一的操作步骤...

python 利用python读取DOC文件(python读取word数据)

近期公司需要处理一批DOC文件,而在windows系统中,python没有模块能直接读取doc文件。需要先把doc文件批量转成docx文件,再读取操作。linux系统python有模块可直接读取doc...

Python学不会来打我(83)python读写文件操作总结

python读写文件操作其实是一个很复杂的过程,在python代码中给的内建函数open()、read()、write()等操作起来非常简单,但是这些方法的底层却是很复杂的,这里面涉及到一些操作系统的...