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

(1)运动命令:

1

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

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

right(degree) 向右转动多少度

left(degree) 向左转动多少度

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

stamp() 绘制当前图形

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

(2)画笔控制命令:

1

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

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

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

reset() 恢复所有设置

pensize(width) 画笔的宽度

pencolor(colorstring) 画笔的颜色

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

fill(Ture) -

fill(False) -

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

1 画一个边长为60的三角形

#-*- coding: utf-8 -*-

import turtle

a=60

turtle.forward(a)

turtle.left(120)

turtle.forward(a)

turtle.left(120)

turtle.forward(a)

turtle.left(120)

1

2

3

4

5

6

7

8

9

2 画一个边长为60的正方形,并填充为红色,边框为蓝色

#-*- coding: utf-8 -*-

import turtle

turtle.reset()

a= 60

turtle.fillcolor("red")

turtle.pencolor("blue")

turtle.pensize(10)

turtle.fill(True)

turtle.left(90)

turtle.forward(a)

turtle.left(90)

turtle.forward(a)

turtle.left(90)

turtle.forward(a)

turtle.left(90)

turtle.forward(a)

turtle.fill(False)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

3 这是一个可以在画布上移动画图的函数,如果学过计算机语言,这些都是很容易理解的,自己捣鼓着玩吧

#-*- coding: utf-8 -*-

import turtle

t = turtle.Pen()    #布置画布

t.forward(200)      #让画笔往前移动200,这个是有方向的,自己观察

t.left(90)

t.backward(100)   #让画笔后退100

t.up()            #抬起画笔,休息一下

t.right(90)       #让画笔的方向转一下

t.down()          #放下画笔,接着画图

t.reset()         #重置画布,画错了,来一张新的画布

t.clear()         #清除画布上的笔迹,回到起点

1

2

3

4

5

6

7

8

9

10

11

4)画蛇

import turtle

def drawSnake(rad, angle, len, neckrad):  #

for i in range(len):

turtle.circle(rad, angle)   # 画圆 rad:圆半径 angle:圆弧度

turtle.circle(-rad, angle)

turtle.circle(rad, angle/2)

turtle.fd(rad)  # 表示直线爬行,forward, 参数表示爬行的距离

turtle.circle(neckrad+1, 180)

turtle.fd(rad*2/3)

def main():

turtle.setup(1300, 800, 0, 0)   # 甚至窗口宽+高+起始x/y

pythonsize = 100

turtle.pensize(pythonsize)   # 设置笔的宽度

turtle.pencolor("red")  # 设置笔的颜色

turtle.seth(-40)  # 设置笔的起始角度

drawSnake(40, 80, 5, pythonsize/2)

main()

""""

python 的调用方式

1:import 库名

调用的时:库.函数名

优点:可以更改函数中函数的名字

2, from 库名 import 函数名

"""

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

5)画五角星

顺序结构

import turtle

turtle.setup(2000, 2000, 0, 0)

turtle.pensize(20)

turtle.pencolor("black")

turtle.seth(0)

turtle.fd(400)

turtle.seth(-144)

turtle.fd(400)

turtle.seth(-144-144)

turtle.fd(400)

turtle.seth(-144 - 144-144)

turtle.fd(400)

turtle.seth(-144 - 144-144-144)

turtle.fd(400)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

循环结构1

import turtle

turtle.setup(2000, 2000, 0, 0)

turtle.pensize(20)

turtle.pencolor("black")

turtle.seth(0)

length = 400

angle = 0

for i in range(5):

turtle.fd(length)

angle = angle - 144

turtle.seth(angle)

1

2

3

4

5

6

7

8

9

10

11

循环结构2

import turtle

import time

turtle.color("purple")

turtle.pensize(5)

turtle.goto(0,0)

turtle.speed(10)

for i in range(6):

turtle.forward(100)

turtle.right(144)

turtle.up()

turtle.forward(100)

turtle.goto(-150,-120)

turtle.color("red")

turtle.write("Done")

time.sleep(3)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

循环递归函数

import turtle

def drawFivePiontedStar(length, angle):

"""

Draw five_pointed_star by turtle library

Initial screen ;width+height+initial position

Initial pen: font+color

Drawing line by recursive_function

:param length: Initial five_pointed_star length

:param angle: Initial position

:return: None

"""

def drawline(length, angle):

turtle.seth(angle)

turtle.fd(length)

turtle.setup(2000, 2000, 0, 0)

turtle.pensize(20)

turtle.pencolor("black")

for i in range(5):

drawline(length, angle)

angle = angle-144

if __name__ == "__main__":

drawFivePiontedStar(400, 0)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

5)画树

import turtle

def branch(length, level):

"""

使用递归函数实现画树

以没有树杈为例

起始角度为90°

向左转换角45°,看有没有树杈(level)

如果没有,向右转换角90°(-45),看有没有树杈

如果没有,向右转换45°(0),返回原路

"""

if level <= 0:

return

turtle.forward(length)

turtle.left(45)

branch(0.6 * length, level - 1)  # 90

turtle.right(90)

branch(0.6 * length, level - 1)

turtle.left(45)

turtle.backward(length)

return

if __name__ == "__main__":

turtle.left(90)

branch(100, 3)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

6)绘制正方形

import turtle

import time

#定义绘制时画笔的颜色

turtle.color("purple")

#定义绘制时画笔的线条的宽度

#turtle.size(5)

turtle.pensize(5)

#定义绘图的速度

turtle.speed(10)

#以0,0为起点进行绘制

turtle.goto(0,0)

#绘出正方形的四条边

for i in range(4):

turtle.forward(100)

turtle.right(90)

#画笔移动到点(-150,-120)时不绘图

turtle.up()

turtle.goto(-150,-120)

#再次定义画笔颜色

turtle.color("red")

#在(-150,-120)点上打印"Done"

turtle.write("Done")

time.sleep(3)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

7)复杂的形状

from turtle import *

color('red', 'yellow')

begin_fill()

while True:

forward(200)

left(170)

if abs(pos()) < 1:

break

end_fill()

done()

---------------------

作者:zh_250

python turtle模块_【上海校区】python的turtle模块相关推荐

  1. python 命令行 模块_深入浅析Python 命令行模块 Click

    Click 是用 Python 写的一个第三方模块,用于快速创建命令行.我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行,但使用起来有些繁琐,Click 相比于 Argpa ...

  2. 老男孩上海校区Python面试题

    python面试题 第一章:python基础 数据类型: 1 字典: 1.1 现有字典 dict={'a':24,'g':52,'i':12,'k':33}请按字典中的 value 值进行排序? 1. ...

  3. 上海交通大学python期末考试样题加解析_上海交通大学python期末考试样题加解析...

    <上海交通大学python期末考试样题加解析>由会员分享,可在线阅读,更多相关<上海交通大学python期末考试样题加解析(7页珍藏版)>请在人人文库网上搜索. 1.升够上伙归 ...

  4. 上海python周末培训班_上海python周末班

    上海python周末班 来源:教育联展网 编辑:坚强 发布时间:2019-08-05 导语概要 上海python周末班,想要高薪吗?成为一名Python程序员! 在由Indeed.com创建并由cod ...

  5. python qq模块_常用的Python模块

    目录 1.使用copy模块来复制 >>> class Animal: def _init_(self, species, number_of_legs, color): self.s ...

  6. 在python中使用什么工具管理模块_怎么使用Python pip(管理模块工具)

    怎么使用Python pip(管理模块工具) 发布时间:2020-08-26 16:04:26 来源:亿速云 阅读:71 作者:Leah 本篇文章给大家分享的是有关怎么使用Python pip(管理模 ...

  7. python3 json模块_详解python 3.6 安装json 模块(simplejson)

    JSON 相关概念: 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等.反序列化就是从存储区域(JSON,XML)读取反 ...

  8. python程序设计教程上海交通大学_上海交通大学 python程序设计课程PPT Ch2.ppt

    上海交通大学 python程序设计课程PPT Ch2.ppt 列表操作(1) 索引 通过在序列中的位置编号来访问成员 <列表>[<位置编号>] 例如 >>> ...

  9. python 日历模块_详解Python日历模块的使用

    calendar模块的函数都是日历相关的,提供了对日期的一些操作方法,和生成日历的方法. calendar模块中提供了三大类: 一.calendar.Calendar(firstweekday=0) ...

  10. python安装tkinter模块_详解python tkinter模块安装过程

    引言: 在Python3下运行Matplotlib之时,碰到了"No module named _tkinter"的问题,花费数小时进行研究解决,这里讲整个过程记录下来,并尝试分析 ...

最新文章

  1. cocoapods更新
  2. 从X86向X64迁移的一点心得
  3. 虚拟机中安装MAC OS X教程(适用所有电脑方法,特别是cpu不支持硬件虚拟化的电脑)...
  4. 去重数组里面重复数据
  5. SU Demos-02Filtering-05Suk1k2filter
  6. actions相互调用并且存在顺序
  7. jmeter命令行运行-分布式测试
  8. 10 行 Python 代码自动清理电脑内重复文件,解放双手!
  9. 批标准化(batch normalization)与层标准化(layer normalization)比较
  10. 通过迁移的方式解决Active Directory服务器问题之5-恢复服务器的应用
  11. 美团员工被指用钓鱼邮件获拼多多薪资;华为回应暂无其它手机厂商接入HarmonyOS;GCC 放弃版权转让政策...
  12. 联想m7216更换墨粉流程图_联想m7216复印机说明书 联想复印机怎样更换墨粉
  13. php出现photo.scr,u盘中了scr病毒怎么办
  14. 在proteus中共阴数码管的驱动与使用
  15. C++ string类常用方法
  16. 大学英语六级翻译分类高频词汇
  17. 为什么越来越多的人选择了企业微信
  18. 回声状态网络(ESN)对MNIST手写数字集识别
  19. chkdsk f: /f windows磁盘检查
  20. 单片机第三讲 ——中断及定时器基本知识

热门文章

  1. mysql+HTML+css01
  2. chrome 全屏无法退出
  3. JUC并发工具的使用和原理
  4. 联想G480a 3230 Win7 操作系统 解决 小键盘问题
  5. linux视频采集软件,基于Video4Linux的视频图像采集实现 - 看看网
  6. 汽车计算机控制电路按功能分,新手篇—轻松看懂汽车电路图(下)
  7. Sql笔试题第二天-查询与之前(昨天的)日期相比温度更高的所有日期
  8. LeetCode SQL 上升的温度
  9. android 字符串换行符,\ n(换行符)删除Android
  10. 周易起名大师 v18.0算法分析