import turtle
for i in range(3): #绘制三条边
turtle.seth(i * 120) #底边行进角度为0;右斜边行进角度为120°(按逆时针);左斜边行进角度为240°(按逆时针)
turtle.fd(100) #边长为100像素
'''
等同于:
import turtle
for i in range(3): #绘制三条边
turtle.fd(100) #边长为100像素
turtle.left(120) #每次逆时针移动120°
'''
seth(angle):只改变海龟的行进方向(角度按逆时针),但不行进,angle为绝对度数
fd(distance):向当前画笔方向移动distance像素长度
turtle.left(degree):逆时针移动degree°
from turtle import *
for i in range(5): #绘制五条边
fd(200) #边长为200像素
right(144) #每次顺时针移动144°
'''
等同于:
import turtle
for i in range(5): #绘制五条边
turtle.seth(i * 216) #每次逆时针移动216°
turtle.fd(200) #边长为200像素
'''
turtle.right(degree):顺时针移动degree°
import turtle
turtle.pensize(2) # 设置画笔的粗细
d = 72
for i in range(5):
turtle.seth(d)
d += 72
turtle.fd(200)
import turtle
d = 0
for i in range(4):
turtle.fd(200)
d = d + 90
turtle.seth(d)
import turtle
turtle.color("red","yellow") # 画笔颜色为红色,填充颜色为黄色
turtle.begin_fill()
for i in range(36):
turtle.fd(200)
turtle.left(170)
turtle.end_fill()
turtle.color(color1, color2):同时设置pencolor=color1, fillcolor=color2
turtle.begin_fill():准备开始填充图形
turtle.end_fill():填充完成
import turtle
turtle.color('black','yellow')
turtle.begin_fill()
turtle.circle(50) # 圆心坐标是(0,50)
turtle.end_fill()
turtle.circle() :画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
import turtle
turtle.color("black","yellow")
turtle.begin_fill() # 准备开始填充图形
for i in range(5):
turtle.fd(200)
turtle.right(144)
turtle.end_fill() # 填充完成
import turtle
for i in range(4):
turtle.seth(90 * (i + 1)) # 逆时针
turtle.circle(50,90)
turtle.seth(-90 + i * 90) # 顺时针
turtle.circle(50,90)
turtle.hideturtle()
turtle.hideturtle():隐藏画笔的turtle形状
turtle.circle()函数
定义:turtle.circle(radius, extent=None, steps=None)
作用:根据半径radius绘制extent角度的弧形
参数:
①radius值为正数,extent值为正数
②radius值为正数,extent值为负数
③radius值为负数,extent值为正数
④radius值为负数,extent值为负数
radius(列)\extent(行) | + | - |
---|---|---|
+ | 圆心在左侧;逆时针;箭头同向 | 圆心在右侧;顺时针;箭头反向 |
- | 圆心在左侧;顺时针;箭头同向 | 圆心在右侧;逆时针;箭头反向 |
from turtle import *
def curvemove():
for i in range(200):
right(1)
forward(1)
setup(600,600,400,400) # 在桌面屏幕(400,400)位置创建600×600大小的画布窗体
hideturtle() # 隐藏画笔形状
pencolor('black') # 画笔颜色
fillcolor("red") # 填充颜色
pensize(2) # 设置画笔的粗细
# 开始填充
begin_fill()
left(140)
forward(111.65)
curvemove()
left(120)
curvemove()
forward(111.65)
end_fill()
# 填充完成
penup()
goto(-27, 85)
pendown()
done() # 乌龟图形程序中的最后一个语句
turtle.hideturtle():隐藏画笔的turtle形状
turtle.penup():提起笔移动,不绘制图形,用于另起一个地方绘制
turtle.goto(x,y):将画笔移动到坐标为x,y的位置
turtle.pendown():移动时绘制图形,缺省时也为绘制
# 前四行输出(第一行输出四个空格)
for i in range(0,4):
for y in range(0,4 - i):
print(" ",end = "")
print('* '*i)
# 后四行输出
for i in range(0,4):
for x in range(0,i):
print(" ",end = "")
print('* '*(4 - i))
turtle库是Python语言中一个很流行的绘制图像的函数库。操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令,其他的是其他命令。
画笔运动命令:
命令 | 说明 |
---|---|
turtle.forward(distance) | 向当前画笔方向移动distance像素长度 |
turtle.backward(distance) | 向当前画笔相反方向移动distance像素长度 |
turtle.right(degree) | 顺时针移动degree° |
turtle.left(degree) | 逆时针移动degree° |
turtle.pendown() | 移动时绘制图形,缺省时也为绘制 |
turtle.goto(x,y) | 将画笔移动到坐标为x,y的位置 |
turtle.penup() | 提起笔移动,不绘制图形,用于另起一个地方绘制 |
turtle.circle() | 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 |
setx( ) | 将当前x轴移动到指定位置 |
sety( ) | 将当前y轴移动到指定位置 |
setheading(angle) | 设置当前朝向为angle角度 |
home() | 设置当前画笔位置为原点,朝向东。 |
dot® | 绘制一个指定直径和颜色的圆点 |
画笔控制命令:
命令 | 说明 |
---|---|
turtle.fillcolor(colorstring) | 绘制图形的填充颜色 |
turtle.color(color1, color2) | 同时设置pencolor=color1, fillcolor=color2 |
turtle.filling() | 返回当前是否在填充状态 |
turtle.begin_fill() | 准备开始填充图形 |
turtle.end_fill() | 填充完成 |
turtle.hideturtle() | 隐藏画笔的turtle形状 |
turtle.showturtle() | 显示画笔的turtle形状 |
全局控制命令:
命令 | 说明 |
---|---|
turtle.clear() | 清空turtle窗口,但是turtle的位置和状态不会改变 |
turtle.reset() | 清空窗口,重置turtle状态为起始状态 |
turtle.undo() | 撤销上一个turtle动作 |
turtle.isvisible() | 返回当前turtle是否可见 |
stamp() | 复制当前图形 |
turtle.write(s [,font=(“font-name”,font_size,“font_type”)]) | 写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项 |
import turtle
turtle.pensize(2)
d = 0
for i in range(1,13):
turtle.fd(40)
d += 30
turtle.seth(d)
import turtle
turtle.pensize(2)
d = 0
for i in range(1,9):
turtle.fd(100)
d += 45
turtle.seth(d)