参考:大学生mooc 北京理工大学的python程序与设计课程

蟒蛇绘制代码如下:

#pythonDraw.py
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()

绘制图形如下:

下面简单的讲解下这段代码:

一、python的库引用

库引用,使用 imort方式来扩充python的功能,具体用法有三种:

1、import <库名>

<库名>.<函数名>(函数参数)

a.b的编码风格

这样做,虽然要写很多库名. 但是可以防止函数重名。

2、from <库名> import <函数名> 或

from <库名> import *

<函数名>(函数参数)

就不需要再用库名.的方式,直接可以使用函数名。

3、import <库名> as <库别名>

<库别名>.<函数名>(函数参数)

给调用的外部库关联一个更短的,更适合自己的别名。

turtle海龟库,是turtle绘图体系的python实现,1969年诞生,主要用于程序设计入门。随解释器直接安装到操作系统中的功能模块。turtle,为一只海龟,其实在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以改变其颜色,改变其宽度。

 二、绘制窗体

1、绘图窗体:

turtle.setup(width,height,startx,starty)

设置窗体的大小和位置,前两个参数为窗体的宽和高,后两个参数可选,为窗体相对于屏幕左上角(0,0)的相对位置,如果没有设置,则在屏幕正中央。setup为可选函数,当没有设置窗体时,开始绘制海龟轨迹时,会有一个默认大小和位置的窗体。

 三、坐标体系

1、turtle空间坐标体系:

绝对坐标,(0,0)为屏幕正中心。turtle.goto(x,y) 任何位置的海龟,到达(x,y)位置。

海龟坐标,从海龟自身的运动来看,前后左右等。turtle.fd(d)向前运行,turtle.bk(d)向后运行,turtle.circle(r,angle),以海龟当前位置正左侧的r半径的一个点为圆心,做angle角度的曲线运动。turtle.fd(100)和turtle.bk(-100)是等价的。

2、turtle角度坐标体系:

turtle.seth(angle),改变海龟行进方向,只改变方向但不行进,angle为绝对度数。如:turtle.seth(45)  turtle.seth(-135)。另外还有以海龟前进方向的左右角度,turtle.left(angle),turtle.right(angle)。其中left(45)与right(-45)相同。

四、RGB色彩体系

RGB色彩体系,取值范围0-255,或者0-1小数,turtle.colormode(mode),mode为1.0,为RGB小数值模式,mode为255,为RGB整数值模式。

五、画笔控制函数

turtle.penup()  抬起画笔,海龟在飞行,不绘制图案;

turtle.pendown() 落下画笔,海龟在爬行,开始绘制;

turtle.pensize(width) 或者turtle.width(width) 画笔宽度,海龟的腰围;

turtle.pencolor(color) 画笔颜色,海龟在涂装,color为颜色字符串或者rgb的值,pencolor(colorstring),pencolor(r,g,b),pencolor((r,g,b))。可以为pencolor("blue"),pencolor((0.1, 0.12, 0.3)),pencolor(0.1,0.12,0.3)

六、运动控制函数

fd(),bk(),circle()

turtle.forward(d),别名为turtle.fd(d),向前行进,海龟走直线,d为行进距离,可以为负数。

turtle.circle(r, angle=None),根据半径r绘制angle角度的弧形,r默认圆心在海龟左侧,r距离的位置。angle为绘制角度,默认为360度。如果r为负数,则圆心在海龟的右侧。

七、方向控制函数

turltle.setheading(angle),别名为turtle.seth(angle) 改变海龟的行进方向,海龟的角度。angle为行进方向的绝对角度。

trutle.left(angle), turtle.right(angle) 海龟向左转,海龟向右转,angle为海龟行进方向的旋转角度。

八、循环语句

for i in range(N) 产生0到N-1的整数序列,共N个

range(5) :0,1,2,3,4

range(M,N) 产生M到N-1的整数序列。

python学习笔记(3)--turtle简单绘制的更多相关文章

  1. python学习笔记(excel简单操作)

    现在的目标是设计一个接口自动化测试框架 用例写在excel里面 利用python自带的pyunit构建 之前已经安装好了处理excel的模块 这次简单的使用下 提前创建好excel文件 “testca ...

  2. Python学习笔记3:简单文件操作

    # -*- coding: cp936 -*- # 1 打开文件 # open(fileName, mode) # 參数:fileName文件名称 # mode打开方式 # w     以写方式打开. ...

  3. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

  4. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  5. Deep learning with Python 学习笔记(7)

    介绍一维卷积神经网络 卷积神经网络能够进行卷积运算,从局部输入图块中提取特征,并能够将表示模块化,同时可以高效地利用数据.这些性质让卷积神经网络在计算机视觉领域表现优异,同样也让它对序列处理特别有效. ...

  6. Deep learning with Python 学习笔记(4)

    本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...

  7. Deep learning with Python 学习笔记(1)

    深度学习基础 Python 的 Keras 库来学习手写数字分类,将手写数字的灰度图像(28 像素 ×28 像素)划分到 10 个类别 中(0~9) 神经网络的核心组件是层(layer),它是一种数据 ...

  8. 【Python学习笔记之二】浅谈Python的yield用法

    在上篇[Python学习笔记之一]Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Python中的迭代器(iterator)和生 ...

  9. Python学习笔记(十三)

    Python学习笔记(十三): 模块 包 if name == main 软件目录结构规范 作业-ATM+购物商城程序 1. 模块 1. 模块导入方法 import 语句 import module1 ...

随机推荐

  1. spring boot 注解方式 idea报could not autowire

    File-Project Structure 页面 Facets下删掉 Spring(直接右键Delete) 这个解答是对的.并不会降低安全性!!因为创建项目的时候,都是先创建空项目再创建web mo ...

  2. Hive窗口函数

    参考地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics 环境准备: CRE ...

  3. P1101 单词方阵 (单词方阵)

    思路:就是白白的模拟 #include<iostream> using namespace std; ][]; ][]; char kk[] = "yizhong"; ...

  4. P2689 东南西北

    题目描述 给出起点和终点的坐标及接下来T个时刻的风向(东南西北),每次可以选择顺风偏移1个单位或者停在原地.求到达终点的最少时间. 如果无法偏移至终点,输出“-1”. 输入输出格式 输入格式: 第一行 ...

  5. oracle 11G direct path read 很美也很伤人

    direct path read在11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这样的全表扫描就是物理读了. 在10g中,都是通过gc buffer来读 ...

  6. Emacs 中使用 shell

    直接在 Emacs 中使用 shell 能增加一点效率.Emacs 本身支持的 shell 相关的命令很多,此处化繁为简,只用一条足够了. M-x shell:将打开一个名为 * shell * 的 ...

  7. Linux 任务计划 crontab 配置概要与常见问题

    Linux 可以利用 crontab 来实现定时任务,自动化操作.本文对此进行简要说明. crontab 操作示例 列出定时任务   crontab -l #列出所有的定时任务,如果没有定时任务,返回 ...

  8. Generative Adversarial Nets[Vanilla]

    引言中已经较为详细的介绍了GAN的理论基础和模型本身的原理.这里主要是研读Goodfellow的第一篇GAN论文. 0. 对抗网络 如引言中所述,对抗网络其实就是一个零和游戏中的2人最小最大游戏,主要 ...

  9. Unity热更新学习(一) —— AssetBundle 打包和加载

    理论不多说,网上,官方文档都有.  这里有一篇介绍很全面的文章:https://www.cnblogs.com/ybgame/p/3973177.html 示例和注意点记录一下,用到时以便查阅. 一. ...

  10. macOS10.4后的刻盘新姿势

    先sudo -s 输入密码 然后终端拖入createinstallmedia   (在macOS Mojave.app显示包内容里面的resources里面的文件复制下来即可) 输入 --volume ...