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)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
随机推荐
- numpy linalg模块
# 线性代数# numpy.linalg模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等. import numpy as np # 1. 计算逆矩阵# 创 ...
- ACM总结——2017ACM-ICPC北京赛区现场赛总结
现在距离比赛结束已经过了一个多星期了,也是终于有时间写下心得了.回来就是被压着做项目,也是够够的. 这次比赛一样是我和两个学弟(虽然是学弟,但我的实力才是最弱的T_T)一起参加的,成绩的话打铁,算是情 ...
- Fast Matrix Calculation HDU - 4965
One day, Alice and Bob felt bored again, Bob knows Alice is a girl who loves math and is just learni ...
- Html fieldset、legend 标签
Html fieldset.legend 标签 <html> <body> <!-- fieldset 添加圈起标题框标签 --> <fieldset> ...
- Python imprt动态模块
1.解释器内部用的动态导入 directory_variable = __improt__("directory.filename") print(directory_variab ...
- Pandas 基础(11) - 用 melt 做格式转换
melt 也可以用来做数据格式转换, 请看下图, 我们可以用 melt 把左表转成右表的格式: 首先引入文件(已上传): df = pd.read_csv('/Users/rachel/Sites/p ...
- Django2.1.5使用xadmin打造适合国人的后台管理系统
python做web开发的话,flask.django是比较火的框架了,django是一个比较大的框架,也是一个快速开发利器.但是,django自带的后台admin不太好看,也不太符合我们国人的习惯, ...
- 谈谈如何给下拉框option添加点击事件?
我们在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发. ...
- MongoDB一键安装
#!/bin/bash export lang=Cecho '#1.关闭本地的MongoDB'#service mongodb stopecho '#2.清空本地MongoDB的安装文件'rm -rf ...
- Android基础知识(一)
前言 前言 从软件测试最终目的发现问题缺陷来看,Findyou比较认同一个观念,测试的能力大致可以划分成三个能力层次:发现问题.定位问题.预防问题.有机会探讨一下这个分类. 发现问题各种方式方法,比如 ...