示例2:Python蟒蛇绘制

思维准备:

-问题1 计算机绘图是什么原理?
    一段程序为何能够产生窗体?为何能在窗体上绘制图形?
-问题2 P樱桃红蟒蛇绘制从哪里开始呢?
    如何绘制一条线?如何绘制一个弧形?如何绘制一个蟒蛇?

编写代码:

#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()

代码分析:

#PythonDraw.py 
注释内容,python绘图import turtle
impor为保留字,引入了一个叫turtle的绘图库turtle.setup(650,350,200,200)
窗口宽650,高350,窗口左边距电脑屏幕左边200,窗口上边距电脑屏幕上边200turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
定初始点的信息,抬起画笔在海龟当前位置的-250的地方落笔,海龟大小为25,颜色为紫色,朝向-40的方向for i in range(4):turtle.circle(40,80)turtle.circle(-40,80)
循环4次,每次都先以80像素为半径走40度,在以80像素为半径走-40度turtle.circle(40,80/2)
40度为半径绘制少半个弧形

turtle.fd(40)
向前行进40turtle.circle(16,180)
以180度为半径,转16度turtle.fd(40*2/3)
向前走40的三分之二

turtle.done()
保证程序运行完不会直接退出

举一反三:

-Python蟒蛇的颜色:黑色、白色、七彩色等
-Python蟒蛇的长度:1节、3节、10节等
-Python蟒蛇的方向:向左走、斜着走等
-其他Python图形的绘制

turtle库的使用

turtle.setup(width,height,startx,starty)
-setup()设置窗体的大小及位置

两个例子:(默认:窗口在屏幕的正中间)

 turtle空间坐标体系

1、绝对坐标

turtle.goto(x,y)
-goto()从当前位置,去到哪里

例:

 2、海龟坐标(以海龟的角度向前、向后、向左或向右)

角度:

turtle.seth(angle)绝对角度
-seth()改变海龟行进方向
-seth()只改变方向但不行进

RGB色彩模式

-RGB指红蓝绿三个通道的颜色组合
-覆盖视力所能感知的所有颜色
-RGB每色取值范围0-255整数或0-1小数

RGB常用颜色表: RGB颜色对照表(太长了,这里仅附上网址)

扩充Python程序功能的方式
1、使用import保留字完成,采用<a>.<b>()编码风格
    import<库名>
    <库名>.<函数名>(<函数参数>)

import更多用法
2、使用from和import保留字共同完成

    from<库名>import<函数名>
    from<库名>import*
    <函数名>(<函数参数>)

两种方式对比图:

-第一种方法不会出现函数重名问题
-第二种方法虽然简短但可能会存在与用户定义函数重名的情况

3、使用import和as保留字共同完成
    import<库名>as<库别名>
    <库别名>.<函数名>(<函数参数>)

-给调用的外部库关联一个更短、更适合自己的名字,可以使程序冗余的代码量最少,同时又防止了库重名的问题

画笔操作后一直有效,一般成对出现
-turtle.penup()    别名    turtle.pu()
    抬起画笔,海龟在飞行
-turtle.pendown()    别名    turtle.pd()
    落下画笔,海龟在爬行
-turtlr.pensize(width)    别名    turtle.width(width)
    画笔宽度,海龟的腰围
-turtle.pencolor(color)    color为颜色字符串(如:"purple"字符串形式且需小写)或r,g,b(如:0.63,0.13,0.94小数形式或(0.63,0.13,0.94)元组形式)
    画笔颜色,海龟在涂装

运动控制函数
-turtle.forward(d)    别名    turtle.fd(d)
    向前行进,海龟走直线
-d:行进距离,可以为负数

-turtle.circle(r,extent=None)(走曲线)
 
   根据半径r绘制extent角度的弧形
-r:默认圆心在海龟左侧r距离的位置
-extent:绘制角度,默认是360度整圆

举两个例子:(第二个参数默认为一个整圆)

绝对角度

-turtle.setheading(angle)    别名    turtle.seth(angle)
    改变行进方向,海龟走角度
-angle:改变行进方向,海龟走角度

注:seth仅改变海龟的方向,海龟并不会行进

海龟角度

 -turtle.left(angle)    海龟向左转
-turtle.right(angle)    海龟向右转

-angle:在海龟当前行进方向上旋转的角度

for in结构和range()函数

语句格式:
for <变量> in  range (<参数>)(参数就是循环的次数)
    <被循环执行的语句>

-<变量>表示每次循环的计数,0到<次数>-1
两个例子:

range()函数,产生循环计数序列
-range(N)
产生0到N-1的正整数序列,共N个
-range(M,N)
产生M到N-1的整数序列,共N-M个

python实现 Python蟒蛇绘制(嵩天老师 )相关推荐

  1. python画图代码七彩蟒蛇-Python实现七彩蟒蛇绘制实例代码

    本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇..具体如下. 第2周的课后练习里,有一道题目,要求修改"蟒蛇绘制"程序,对Python 蟒蛇的每个部分采用不同 ...

  2. 自定义python蟒蛇绘制-Python实现七彩蟒蛇绘制实例代码

    本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇..具体如下. 第2周的课后练习里,有一道题目,要求修改"蟒蛇绘制"程序,对Python 蟒蛇的每个部分采用不同 ...

  3. 大蟒蛇python编译器_python蟒蛇绘制

    #蟒蛇绘制 import turtle #图像绘制库 def drawSnack(rad,angle,len,neckrad): #定义函数 for i in range(len): turtle.c ...

  4. (第一课)Python学习之蟒蛇绘制

    代码讲解如下: #PythonDraw.py import turtle     // 语法:import<库名>,引入turtle库.使用import保留字,采用<a>.&l ...

  5. python turtle库画七彩蟒蛇_Python实现七彩蟒蛇绘制实例代码

    本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇..具体如下. 第2周的课后练习里,有一道题目,要求修改"蟒蛇绘制"程序,对Python 蟒蛇的每个部分采用不同 ...

  6. python绘制蟒蛇_Python实现七彩蟒蛇绘制实例代码

    本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇..具体如下. 第2周的课后练习里,有一道题目,要求修改"蟒蛇绘制"程序,对Python 蟒蛇的每个部分采用不同 ...

  7. 如何用python画七彩蟒蛇_Python实现七彩蟒蛇绘制实例代码

    本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇..具体如下. 第2周的课后练习里,有一道题目,要求修改"蟒蛇绘制"程序,对Python 蟒蛇的每个部分采用不同 ...

  8. python彩色蟒蛇绘制程序_Python实现七彩蟒蛇绘制实例代码

    本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇..具体如下. 第2周的课后练习里,有一道题目,要求修改"蟒蛇绘制"程序,对Python 蟒蛇的每个部分采用不同 ...

  9. python七彩蟒蛇代码_Python实现七彩蟒蛇绘制实例代码

    本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇..具体如下. 第2周的课后练习里,有一道题目,要求修改"蟒蛇绘制"程序,对Python 蟒蛇的每个部分采用不同 ...

最新文章

  1. 集成服务监控器-green.monitor发布
  2. Win7 命令行下C语言学习环境搭建(三)
  3. Linux简介、什么是Linux
  4. 75.Android之基本架构
  5. 一面微创题--字符串逆序输出
  6. 开机、问题-MocorDroid拔掉电池开机比正常关机后开机慢1分钟问题-by小雨
  7. jquery通过ajax方法获取json数据不执行success
  8. 实习成长之路:Redis为什么快?为什么Redis同样也是String字符串,但是要比Java性能好?SDS数据结构是什么?什么是紧凑型编程技巧?
  9. JavaScript和JQuery获取DIV的值
  10. java集合uml_Java开源UML建模集合
  11. Linux命令拆分csv文件,linux – 如何剪切CSV文件
  12. layui 之 laypage分页插件
  13. java pgm_(转) PGM图像处理方法详解(很好一篇)
  14. NVMe Zoned Namespaces (ZNS) SSDs
  15. Opencv实现颜色检测
  16. 英语语音篇 - 拼读规则
  17. 力天创见智慧商业解决方案
  18. 三角函数形式的傅里叶级数
  19. 【js】仿照网易云音乐制作的音乐播放组件
  20. GlidedSky爬虫-验证码1

热门文章

  1. 苍穹插件常用事件与方法
  2. 13.不抱怨的世界--美,威尔.鲍温,陈敬旻译,2017-12-10
  3. Typora的崩溃导致文件丢失
  4. 串行通信比并行通信的速度更高
  5. JS查询日出日落时间和太阳月亮位置
  6. HNU-电子测试平台与工具-元器件及测量基础
  7. 算法训练Day6:有效的字母异位词, 两个数组的交集,快乐数,两数之和
  8. 微软这个系统,90% 的人都没用过!
  9. #R语言# 生成随机数
  10. 再谈OT算法的协同文档制作的底层基础架构记录