Python标准库:turtle库
Mark一下上次课的两个编程习题
- 获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:
如果输入值是0,直接输出"Hello World",如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符),如果输入值小于0,以垂直方式输出"Hello World"
T = eval(input())
if T == 0:
print('Hello World')
elif T >0:
print('He\nll\no \nWo\nrl\nd')
else:
for c in 'Hello World':
print(c)
- 获得用户输入的一个字符串,格式如下:
M OP N 其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)根据OP,输出M OP N的运算结果,统一保存小数点后2位。注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。
T = input()
print('{:.2f}'.format(eval(T)))
turtle库
Python蟒蛇绘制代码
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() ##程序执行完毕后不会退出
绘制结果:
turtle库又叫海龟库,是Python入门的绘图标准库。在Python生态体系中,包括第三方库和标准库,标准库就是随Python一同安装可以直接调用的库,第三方库则是编程人员在实际工作过程中形成的可以用来更高效和扩充编程功能的库,需要手动进行安装。
库引用
- import
import的用法有三种
1. import <库名>
2. from <库名> import <函数名>
2.1 from <库名> import* #代码中就不再需要使用<a>.<b>()的编程方式
3. import <库名> as <函数名>
第三种引用库的方法是比较推荐的方法,一方面它可以有效的避免函数名与用户定义函数重名的情况发生。另一方面将turtle库定义为t可以大幅度减少代码的冗余。比如蟒蛇绘制的代码
import turtle as t
t.setup(650, 350, 200, 200)
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor('purple')
t.seth(-40)
for i in range(4):
t.circle(40,80)
t.circle(-40,80)
t.circle(40,80/2)
t.fd(40)
t.circle(16,180)
t.fd(40 * 2/3)
t.done()
经过了函数重命名,代码中的turtle函数全部被替换为了t,很大程度的减少了工作量。
turtle坐标体系
- 屏幕坐标系
在屏幕坐标体系中,屏幕左上角默认为为(0,0)。我们可以通过turtle.setup(width,height,x,y)函数来确定绘图窗口的位置和大小
比如说
import turtle
turtle.setup(800,400,0,0)
就是在屏幕左上方的(0,0)位置创建一个宽800高400的绘图窗体。(单位为像素)
空间坐标体系
- 绝对坐标系
如果想让海龟前往右上角的点,可以使用turtle.goto(100,100)
来实现
举个例子
import turtle as t
t.goto( 100, 100)
t.goto( 100,-100)
t.goto(-100,-100)
t.goto(-100,100)
t.goto(0,0)
结果为:
- 海龟坐标系
海龟坐标系是相对于海龟而言的,海龟行进的方向永远为正方向。
turtle.fd(<参数>) ##前进<参数>个像素
turtle.bk(<参数>) ##反方向<参数>个像素
turtle.circle(r,angle) ##以‘r’为半径,做‘angle’的左侧圆周运动
- 角度坐标系
举个?
import turtle as t
t.setup(600,400)
t.left(45)
t.fd(150)
t.right(135)
t.fd(250)
t.left(135)
t.fd(150)
运行结果:
RGB颜色体系
- RGB值
turtle库默认使用小数值
可以使用colormode()函数来改变
turtle.colormode()
##1.0 为小数值
##255 为整数值
turtle画笔控制函数
- 画笔函数
蟒蛇绘制示例中存在四种画笔控制函数,分别是:
turtle.penup() ##抬起画笔,不进行绘制 turtle.pu
turtle.pendown() ##放下画笔,进行绘制 turtle.pd
turtle.pensize() ##设置画笔的宽度 turtle.width()
turtle.pencolor() ##修改画笔颜色 turtle.pencolor("purple")
- 循环语句
格式:
for <变量> in range<参数>: ##不要忘记冒号
<被循环执行的语句> ##注意要缩进
举个例子
for i in range(5):
print(i)
0
1
2
3
4
5
for c in range(4):
print("number:",c)
number: 0
number: 1
number: 2
number: 3