前期准备

首先,使用Python内置的Turtle绘图库需要在程序前添加以下代码:

import turtle

也可以写成这样:

from turtle import *

我们来讲一讲它们的区别:
使用import时,需要定义一个变量作为参数控制项,如:

import turtlet=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 turtlet=turtle.Pen()t.pencolor("orange") # 画笔颜色设置为橙色for i in range(1,5):    t.fd(50) # 向右画50像素    t.lt(90) # 转90度,画下一条边

二、画一个三角形

步骤:先画一条边,右转120°,再画一条边,右转120°,最后画一条边

import turtlet=turtle.Pen()t.pencolor("orange") # 画笔颜色设置为橙色t.fd(150)t.rt(120)t.fd(150)t.rt(120)t.fd(150)

三、画一个八角星

import turtlet=turtle.Pen()t.pencolor("orange")for x in range(1,9): # 执行8次t.fd(100)t.lt(135)

四、画一个八边形

重点:每画一条边后都旋转45°

import turtlet=turtle.Pen()t.pencolor("orange")for i in range(1,9): #循环8次    t.forward(50) #画线    t.right(45) #转向

我们还能通过Turtle画一些有趣的图形

五、其他图形

#test 1.1import turtlet=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-五角星的内角和/5t.done()


到现在为止,我们画的图形都只有一种颜色,那么,怎样才能画出多种颜色的图案呢?

我们可以先定义一个颜色列表,在每次画的时候随机取出一种颜色,就可以画出多彩的图案

colors=["red","orange","yellow","green","blue","purple"]

随机取出颜色的代码:

t.pencolor([colors%5]) 

No.1、多彩的五角星

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-五角星的内角和/5t.done()

No.2、多彩的八角星

import turtlet=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)

No.3、四圆镶嵌

import turtlet=turtle.Pen()colors=["red","green","yellow","blue"]for i in range(1,100):t.pencolor(colors[i%4])t.circle(i) #画圆t.lt(91)

No.4、彩虹螺旋

import turtlet=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)