首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python案例分析

问题分析

用程序绘制一条蛇。

问题1,计算机绘图的原理是什么?

一段程序如何产生窗体?如何在窗体上绘制图形?

问题2,python绘制蛇从哪里开始?

如何绘制一条直线、弧形?

首先看下程序代码:

#贪吃蛇.py

import turtle

turtle.setup(560,350,200,200)

turtle.penup()

turtle.fd(-250)

turtle.pendown()

turtle.pensize(25)

turtle.pencolor('red')

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贪吃蛇绘制共有17行代码,单很多行相似。

清楚理解这17行代码,就能够掌握python基本绘图方法。

参考框架结构、逐行分析、逐词理解。

程序参数改变

改变蛇的颜色,黑白红绿七彩等。

修改蛇的长度。

修改蛇的爬行方向。

计算问题扩展

Python绘制蛇是该类问题的代表

学会了蛇的绘制,我们就可以绘制圆形、五角星、国旗、机器猫等。

turtle基本介绍

Turtle也叫画笔,是turtle的绘图体系,是标准库之一。

标准库,是随解释器直接安装在操作系统中的功能模块。

第三方库,需要通过安装才能是用的模块。

库(libray)包(package)模块(module)

turtle的原理

Turtle是一只画笔,可以在窗体上行走,行走的轨迹就是绘制的图像,通过改变画笔的属性,我们可以变换颜色、画笔宽度等。

turtle绘图窗体

窗体就相当于ps中的画布,它的位置可以在桌面上进行定位。

使用turtle.setup(width,height,startx,starty)来定位窗口在显示器上的位置和窗口大小。

Shtup不是必须的。

Turtle.setup(800,800,,)指的是生成一个窗体,长、宽为800像素,位于桌面左上角。

Turtle.setup(800,800)指的是生成一个窗体,长、宽为800像素,位于桌面中心位置。

Turtle空间坐标体系

绝对坐标,依画笔的起始点作为二维坐标的中心,来定位画笔的位置。

turtle. goto(x,y)制定画笔到达对应位置。

画笔坐标,中心位置为画笔所在位置。

turtle .fd(d):画笔的向前方向。

turtle .bk(d):画笔向后方向。

turtle .circle(r,angle):以画笔所在位置为圆心,以r为半径,做对应角度的圆弧运动。

绝对角度

turtle . seth(angle):只改变画笔行进的方向。

turtle. seth(45):画笔方向向着绝对角度45度。

相对角度

turtle.right(angle):画笔向右旋转对应的角度。

turtle.left(angle):画笔向左旋转对应的角度。

turtle RGB色彩体系

红绿蓝3个通道每个通道的取值范围为整数值0——255,小数值0——1。

默认采用小数值使用turtle.colormode(mode)来改变数值类型。

1.0为小数模式,255为整数模式。

库引用与import

扩充python程序功能的方式。

使用import保留字完成,采用.()编码风格。

formimpor

不会出现函数名重复问题。

使用form和import两个保留字完成库引用。

formimport *

使用()

即可,函数名有重复的可能。

使用import和as两个保留字完成引用。

import as

使用的时候

.()

turtle画笔控制函数

turtle .penup()或turtle .pu()指的是画笔抬起。

turtle .pendown()或turtle .pd()指的是画笔落下。

turtle .pencolor()指的是画笔颜色,color有三中形式,字符串、RGB小数值、RGB元组类型。

turtle.pensize(width)或turtle.width(width)指的是设置画笔的大小。

turtle运动控制函数

控制画笔走直线或者曲线

turtle.fd(d)或turtle.forward(d),d为行进距离可以为负数,单位为像素。

turtle.circle(r,extent=None),根据半径r绘制extent角度的弧形。

turtle方向控制函数

控制画笔面对的面对的方向,绝对角度和画笔角度。

turtle.setheading(angle)或者turtle.seth(angle),改变行进方向,绝对角度。

turtle.left(angle),画笔向左转角度。

turtle.left(angle),画笔向右转角度。

基本循环语句

循环语句按照一定次数循环执行的语句。

for in range()

range()函数,产生循环序列的函数。

range(N)产生从到N-1的N个数值。

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

单元小结

库引用的方式。

turtle的相关元素。

循环语句。

韩黑桃原创

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180602A18WSA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券