海龟画图 python太阳花_Python的画图模块turtle使用详解

2023-12-29 18:10

本文主要是介绍海龟画图 python太阳花_Python的画图模块turtle使用详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介:Turtle是Python语言中一个很流行的简单的绘图工具。你可以把它理解为一个小海龟,只听得懂有限的指令。它在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

turtle绘图的基础知识:

1. 画布(canvas)

画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。

设置画布大小

turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色。

如:

turtle.screensize(800,600, "green")

turtle.screensize() #返回默认大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。

如:

turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2. 画笔

2.1 画笔的状态

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

2.2 画笔的属性

画笔(画笔的属性,颜色、画线的宽度等)

1) turtle.pensize():设置画笔的宽度;

2) turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。

3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

3.绘图窗口的原点(0,0)在正中间。默认情况下,海龟向正右方移动。

4.操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令

(1)运动命令:

forward(d) 向前移动距离d代表距离

backward(d) 向后移动距离d代表距离

right(degree) 向右转动多少度

left(degree) 向左转动多少度

goto(x,y) 将画笔移动到坐标为(x,y)的位置

stamp() 绘制当前图形

speed(speed) 画笔绘制的速度范围[0,10]整数

(2)画笔控制命令:

down() 画笔落下,移动时绘制图形

up() 画笔抬起,移动时不绘制图形

setheading(degree) 海龟(turtle)朝向,degree代表角度

reset() 恢复所有设置

pensize(width) 画笔的宽度

pencolor(colorstring) 画笔的颜色

fillcolor(colorstring) 绘制图形的填充颜色

circle(radius, extent) 绘制一个圆形,其中radius为半径,extent为度数,例如若extent为180,则画一个半圆;如要画一个圆形,可不必写第二个参数

使用Python的turtle(海龟)模块画图

第一步:让Python引入turtle模块,引入模块就是告诉Python你想要用它。

importturtle

第二步:创建画布。调用turtle中的Pen函数。

t=turtle.Pen()

21411G359-0.png

第三步:移动海龟。

t.forward(50)

forward的中文意思是“向前地;促进”。所以这行代码的意思是海龟向前移动50个像素:

21411I038-1.png

t.left(90)

让海龟左转90度

21411L417-2.png

现在我们可以尝试画一个方块,思路就是前进-转向90度-前进,循环四次。

1

2

3

4

5

6

7

8

9

>>> t.forward(50)

>>> t.left(90)

>>> t.forward(50)

>>> t.left(90)

>>> t.forward(50)

>>> t.left(90)

>>> t,forward(50)

>>> t.left(90)

>>> t,forward(50)

效果如下:

21411H394-3.png

第四步:擦除画布。

1

>>>t.reset()

重置命令(reset)这会清除画布并把海龟放回开始的位置。

1

>>>t.clear()

清除命令(clear)只清除屏幕,海龟仍停留在原位。

我们还可以让海龟向右(right)转,或者让它后退(backward)。我们可以用向上(up)来把笔从纸上抬起来(换句话说就是让海龟停止作画),用向下(down)来开始作画。

下面我们综合运用一下,画两条线。

1

2

3

4

5

6

7

8

>>> t.reset()//擦除画布并把海龟移回到开始位置

>>> t.backward(100)//后退100个像素

>>> t.up()// 抬笔不再作画

>>> t.right(90)//向右转90度

>>> t.forward(20)//前进20个像素

>>> t.left(90)//向左转90度

>>> t.down()//下笔准备作画

>>> t.forward(100)//前进100个像素

效果如下:

21411JZ1-4.png

实例: 绘制太阳花

1

2

3

4

5

6

7

8

9

10

11

# coding=utf-8

import turtle

import time

# 同时设置pencolor=color1, fillcolor=color2

turtle.color("red","yellow")

turtle.begin_fill()

for _in range(50):

turtle.forward(200)

turtle.left(170)

turtle.end_fill()

turtle.mainloop()

这篇关于海龟画图 python太阳花_Python的画图模块turtle使用详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/550269

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部