python学习笔记day03
一.海龟绘图案例
from turtle import * # 加载模块中的所有内容,直接调用函数()
# import turtle # 加载模块,调用格式:turtle.函数()
color('red', 'yellow') # 指定颜色,'red'为线颜色,'yellow'为线包裹区域填充色
begin_fill() # 开始填充
speed(0) # 调整画图速度
while True:
forward(200) # 前进,或fd(200)
left(170) # 逆时针旋转170°
# 如果画笔坐标到原点距离小于1,退出画图循环
# pos()为position()简写
if abs(pos()) < 1:
break
end_fill() # 结束填充
done() # 暂停,避免画图完直接自动关闭窗口
二.turtle知识点1
turtle的两个类: TurtleScreen, RawTurtle(RawPen)
TurtleScreen类定义了图形窗口作为画板
RawTurtle(RawPen)类定义了画笔
RawTurtle操作对象TurtleScreen
画板中心位置为二位坐标系原点,画笔默认处于原点,指向x轴正方向
- 移动和绘制
forward(x): 前进x个像素点
backward(x): 后退x个像素点
left(x): 逆时针旋转x度
right(x): 顺时针旋转x度
done(): 暂停屏幕
from turtle import *
forward(760) # 前进760个像素点
backward(960) # 后退960个像素点
left(90) # 画笔逆时针旋转90°
right(180) # 右转180°
done() # 暂停
- 正方形
speed(x):绘画速度,0最快,1最慢,[1, 10]逐级加快
fillcolor(x):指定填充颜色,不改变画线颜色,阉割版color(),x可以是字符串型颜色英文单词,也可以是 字符串型十六进制代码(查表)
color(x, y):类比fillcolor(),x为线条颜色,y为填充颜色
颜色填充时,非闭合图形也能填充
begin_fill():开始填充
penup():画笔抬起
position()或pos():获取画笔当前坐标
end_fill():结束填充
pendown():画笔落下
goto(x, y):画笔从当前位置移动到指定坐标,如果画笔当前状态为落下,则移动过程会画线
distance(x, y):画笔到指定点的距离和角度
towards(x, y):到指定点的逆时针角度
xcor():获取箭头x坐标
ycor():获取箭头y坐标
from turtle import *
speed(10)
fillcolor('#00DB00') # 先运行,被后面的color填充覆盖
color('red', 'yellow')
begin_fill()
penup()
print(position())
print(abs(position()))
for i in range(4):
forward(100)
left(90)
print(position())
# 并非回到原点,有误差
print(abs(position()))
end_fill()
pendown()
goto(100, 100