首先,使用Python
内置的Turtle
绘图库需要在程序前添加以下代码:
import turtle
也可以写成这样:
from turtle import *
我们来讲一讲它们的区别:
使用import
时,需要定义一个变量作为参数控制项,如:
import turtle
t=turtle.Pen()
# 画图
t.forward(10) # 向右画10像素,详见下表
而使用from
时,可以直接命令程序,不需要多余语句
from turtle import *
# 画图
forward(10) # 向右画10像素,详见下表
函数 | 功能 |
---|---|
forward(x) 简写:fd(x) |
向右 前进x 像素的长度,若为负值,则向反方向绘图。默认前进方向为右 |
backward(x) 简写:bk(x) |
向左 前进x 像素的长度,若为负值,则向反方向(右 )绘图 |
goto(x,y) |
从当前位置到(x,y) 画线 |
circle(r,extent = x) |
绘制半径为r ,角度为x 的弧形 |
left(x) 简写:lt(x) |
向左转x 度 |
right(x) 简写:rt(x) |
向右转x 度 |
pencolor("red") |
设置画笔颜色为红色 (可修改) |
fillcolor("red") |
设置填充颜色 为红色 |
bgcolor(black) |
设置背景色 为黑色 |
down() |
落笔函数,没有参数 |
up() |
抬笔函数,没有参数 |
pensize(x) |
设置画笔粗细为x |
speed(x) |
设置绘画速度为x ,数值越大越快,0 为最快 |
done() |
暂停程序,停止画笔绘制,但绘图窗体不关闭,直到用户关闭Turtle 图形化窗口为止,没有参数 |
import turtle
t=turtle.Pen()
t.pencolor("orange") # 画笔颜色设置为橙色
for i in range(1,5):
t.fd(50) # 向右画50像素
t.lt(90) # 转90度,画下一条边
步骤:先画一条边,右转120°
,再画一条边,右转120°
,最后画一条边
import turtle
t=turtle.Pen()
t.pencolor("orange") # 画笔颜色设置为橙色
t.fd(150)
t.rt(120)
t.fd(150)
t.rt(120)
t.fd(150)
import turtle
t=turtle.Pen()
t.pencolor("orange")
for x in range(1,9): # 执行8次
t.fd(100)
t.lt(135)
重点:每画一条边后都旋转45°
import turtle
t=turtle.Pen()
t.pencolor("orange")
for i in range(1,9): #循环8次
t.forward(50) #画线
t.right(45) #转向
我们还能通过Turtle
画一些有趣的图形
#test 1.1
import turtle
t=turtle.Pen()
t.pencolor("orange")
for i in range(1,4):
t.fd(50)
t.rt(120)
t.fd(50)
t.rt(120)
t.fd(50)
import turtle #导入turtle库
t = turtle.Pen()
t.pencolor("orange")
for i in range(5):
t.forward(100) # 向右移动300
t.right(180-180/5) # 180-五角星的内角和/5
t.done()
到现在为止,我们画的图形都只有一种颜色,那么,怎样才能画出多种颜色的图案呢?
我们可以先定义一个颜色列表,在每次画的时候随机
取出一种颜色,就可以画出多彩的图案
colors=["red","orange","yellow","green","blue","purple"]
随机取出颜色的代码:
t.pencolor([colors%5])
import turtle #导入turtle库
t = turtle.Pen()
colors=["red","orange","yellow","green","blue","purple"]
for i in range(5):
t.pencolor(colors[i%5])
t.forward(100) # 向右移动300
t.right(180-180/5) # 180-五角星的内角和/5
t.done()
import turtle
t=turtle.Pen()
colors=["red","orange","yellow","green","blue","purple"]
for i in range(1,9): # 执行8次
t.pencolor(colors[i%6])
t.fd(100)
t.lt(135)
import turtle
t=turtle.Pen()
colors=["red","green","yellow","blue"]
for i in range(1,100):
t.pencolor(colors[i%4])
t.circle(i) #画圆
t.lt(91)
import turtle
t=turtle.Pen()
colors=["red","orange","yellow","green","blue","purple"]
turtle.bgcolor("black")
for i in range(500000):
t.pencolor(colors[i%6])
t.fd(i)
t.lt(64)
t.width(i/10-1)