python学习2:turtle的使用蟒蛇绘制的学习以及自己摸索的等边三角形绘制(跟随mooc学习)
首先先放上蟒蛇的绘制程序
import turtle#引入外部库#def保留字用于 定义函数
def drawSnake(rad,angle,len,neckrad):
for i in range(len):
turtle.circle(rad,angle)
#画圆,rad圆形轨迹半径的位置
#angle表示小乌龟沿着圆形爬行的弧度
turtle.circle(-rad,angle)
turtle.pencolor("red")
turtle.pencolor("blue")
turtle.circle(rad,angle/2)
turtle.fd(rad)#乌龟向前直线爬行,参数表示爬行的距离
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3) def main():
turtle.setup(1300,800,0,0)
#启动了一个图形窗口(宽度,高度,左上角在屏幕中的位置)
pythonsize=30
turtle.pensize(pythonsize)
#小乌龟运行轨迹的宽度
turtle.pencolor("blue")
#小乌龟运行轨迹的颜色
turtle.seth(-40)
#启动时候运行的方向
drawSnake(40,80,5,pythonsize/2)
#启动绘制蟒蛇的功能 main()#去执行main()函数 Python语法元素
import turtle
import是一个关键字,用来引入一些外部库,
这里的含义是引入一个名字交turtle的函数库
使用turtle库,同学们头脑里需要有这样一个概念:
想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,
(0,0)位置开始
它根据一组函数指令的控制,在这个平面坐标系中移动,从
而在它爬行的路径上绘制了图形
def定义函数
def用于定义函数,这段程序中,共出现两次def关键词,
包含两个函数drawSnake和main。
函数是一组代码的集合,用于表达一个功能,或者说,函
数表示一组代码的归属,函数名称是这段代码的名字。
def所定义的函数在程序中未经调用不能直接执行,需要
通过函数名调用才能够执行。
程序运行
可以看到,两个def语句定义的函数所包含语句与def行
存在缩进关系,def后连续的缩进语句都是这个函数的一部
分。
由于def定义的函数在程序中未经调用不会被执行,整个
程序第一条执行的语句是main(),它表示执行名字为main()
的函数。
从而,该程序跳转到main()函数定义的一组语句中执行,
即开始执行turtle.setup()语句
同样的,main()函数的最后一条语句调用了drawSnake()
函数,当执行到这条语句时,程序跳转到drawSnake()函
数中运行。
程序
程序运行main()函数中语句,遇到setup函数
Turtle中的turtle.setup()函数用于启动一个图形窗口,
它有四个参数
turtle.setup(width,height,startx,starty)
分别是:启动窗口的宽度和高度
表示窗口启动时,窗口左上角在屏幕中的坐标位置。
我们所使用的显示屏幕也是一个坐标系,该坐标系以
左上角为原点,向左和向下分别是x轴和y轴。
蟒蛇程序代码启动一个1300像素宽、800像素高的窗
口,该窗口的左上角是屏幕的左上角。
Turtle中的turtle.pensize()函数表示小乌龟运动轨迹
的宽度。
它包含一个输入参数,这里我们把它设为30像素,用
pythonsize变量表示。
Turtle中的turtle.pencolor()函数表示小乌龟运动轨迹
的颜色。
它包含一个输入参数,这里我们把它设为蓝色,blue,
其他颜色单词也可以使用。Turtle采用RGB方式来定义
颜色,如果希望获得和图片中颜色一致的小蛇,请输入
turtle.pencolor(“#3B9909”)
Turtle中的turtle.seth(angle)函数表示小乌龟启动时
运动的方向。它包含一个输入参数,是角度值。
其中,0表示向东,90度向北,180度向西,270度向
南;负值表示相反方向。
程序中,我们让小乌龟向-40度启动爬行,即:向东南
方向40度。
main()函数给出了小乌龟爬行的窗体大小,爬行轨迹
颜色和宽度以及初始爬行的方位。
最后,调用drawSnake函数启动绘制蟒蛇功能。
drawSnake函数有四个参数,根据调用时给出的参数,
分别将40传递给rad、80给angle,5给len,15给
neckrad
turtle.circle()函数功能
turtle.circle()函数让小乌龟沿着一个圆形爬行
参数rad描述圆形轨迹半径的位置
这个半径在小乌龟运行的左侧rad远位置处,如果
rad为负值,则半径在小乌龟运行的右侧
参数angle表示小乌龟沿着圆形爬行的弧度值
turtle.fd()函数功能
turtle.fd()函数也可以用turtle.forward()表示乌龟向
前直线爬行移动
表示小乌龟向前直线爬行移动,它有一个参数表示爬
行的距离 下面是通过学习绘制蟒蛇自行完成的绘制等边三角形的程序:
import turtle #绘制等边三角形
def main():
turtle.setup(1300, 800, 0, 0)
pythonsize=20
turtle.pensize(pythonsize)
turtle.pencolor("red")
turtle.seth(0)
turtle.fd(200)
turtle.pencolor("yellow")
turtle.seth(120)
turtle.fd(200)
turtle.pencolor("blue")
turtle.seth(240)
turtle.fd(200)
main()
python学习2:turtle的使用蟒蛇绘制的学习以及自己摸索的等边三角形绘制(跟随mooc学习)的更多相关文章
- Python学习之turtle库和蟒蛇绘制程序
Python的函数库 Python语言与C语言Java类似,可以大量使用外部函数库包含在安装包中的函数库:. 比如math, random, turtle等其他函数库,其他函数库用户根据代码需求自行安 ...
- python学习1:程序元素和基本使用方法(跟随mooc学习)
程序元素: 注释,缩进,变量,常量,表达式 输入,输出,分支,循环 示例程序,温度转换程序: #TempConvert.pyval=input("请输入带温度表示符号发温度值(例如:32C) ...
- python库之turtle(图形绘制) 开启新的快乐源泉
相信有不少人学习python 都是听了老前辈的推荐 “学python好,python有趣的代码多” 比如说画一只小狮子 这就是今天想要介绍的绘制图形库-turtle 如果也想这样画一只小狮子,或者其他 ...
- python中关于turtle库的学习笔记
一.基础概念 1.画布:画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置.常用的画布方法有两个:screensize()和setup(). (1)turtle.screen ...
- Python画图库Turtle库详解篇
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
- Python绘图工具turtle库的使用
#PythonDraw.py import turtle #引入了一个绘图库(海归库) turtle.setup(650,350,200,200) #设置一个窗体 turtle.penup() #将画 ...
- python绘图之turtle库函数的用法
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
- 画一个心送给心爱的小姐姐,Python绘图库Turtle
Python绘图库Turtle Turtle介绍 Turtle是Python内嵌的绘制线.圆以及其他形状(包括文本)的图形模块. 一个Turtle实际上是一个对象,在导入Turtle模块时,就创建了对 ...
- 吴裕雄--天生自然python编程:turtle模块绘图(1)
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
随机推荐
- linux中make的有关规则的特性
我过去认为 makefile 只是一种将一组组的 shell 命令列出来的简便方法:过了一段时间我了解到它们是有多么的强大.灵活以及功能齐全.这篇文章带你领略其中一些有关规则的特性. 规则 规则是指示 ...
- Python RabbitMQ消息队列
python内的队列queue 线程 queue:不同线程交互,不能夸进程 进程 queue:只能用于父进程与子进程,或者同一父进程下的多个子进程,进行交互 注:不同的两个独立进程是不能交互的. ...
- Python Rabbit 广播模式
Exchange 在RabbitMQ下进行广播模式需要用到,exchange这个参数,它会把发送的消息推送到queues队列中,exchange必须要知道,它接下来收到的消息要分给谁,是要发给一个qu ...
- 02:openf-falcon安装
open-falcon其他篇 目录: 1.1 安装open-falcon环境准备 1.2 部署open-falcon后端 1.2.1 agent配置文件 1.2.2 transfer(数据上报) 1. ...
- jmeter基本使用
下载安装,推荐官网http://jmeter.apache.org/download_jmeter.cgi 安装步骤不做赘述,可以看这篇博文https://blog.csdn.net/u0103401 ...
- Bugku-CTF之Web5(JSPFUCK??????)
Day10 web5 JSPFUCK??????答案格式CTF{**} http://123.206.87.240:8002/web5/ 字母大写
- wepy开发小程序eslint报错error 'getApp' is not defined no-undef
wepy开发小程序使用getApp().globalData保存全局数据很方便,但是会在控制台看到很多报错:“error 'getApp' is not defined no-undef”,这是esl ...
- Unity3D获取系统当前时间,并格式化显示
Unity 获取系统当前时间,并格式化显示.通过“System.DateTime”获取系统当前的时间,然后通过格式化把获得的时间格式化显示出来,具体如下: 1.打开Unity,新建一个空工程,Unit ...
- webpack.optimize.UglifyJsPlugin配置说明
https://segmentfault.com/a/1190000008995453?utm_source=tuicool&utm_medium=referral
- js中Undefined 和 Null的区别
Undefined 和 Null Undefined 这个值表示变量不含有值. 可以通过将变量的值设置为 null 来清空变量. <!DOCTYPE html> <html> ...