一、效果图
二、代码
turtle_module.py
'''
这是自己写的一个小模块,里面全是封装好的用于画图的函数
'''
import turtle
def make_window(bgcolor,title):
'''
这是一个返回自定义花布的函数
:参数 bgcolor:花布的背景颜色
:参数 title:花布的标题
'''
window=turtle.Screen()
window.bgcolor(bgcolor)
window.title(title)
return window
def get_animal(shape,pensize,color,speed):
'''
这是一个返回自定义的画笔(Turtle实例)的函数
:参数 shape:画笔的形状
:参数 pensize:画笔的粗细
:参数 color:画笔的颜色
:参数 speed:画笔的绘制速度
'''
animal=turtle.Turtle()
animal.shape(shape)
animal.pensize(pensize)
animal.color(color)
animal.speed(speed)
return animal
def draw_multiple_squares(animal,size):
'''
这是画层叠的正方向的函数
:参数 animal:画笔,也就是Turtle类的实例
:参数 size:正方形的边长
'''
for i in range(20):
for _ in range(4):
animal.forward(size)
animal.left(90)
animal.left(18)
animal.hideturtle()
def draw_spiral(animal,num,start_size,turn):
'''
这是画螺旋的函数
:参数 animal:画笔,也就是Turtle类的实例
:参数 num:层数,决定绘制多少层的螺旋
:参数 start_size:这是螺旋的起始尺寸,建议小一点,这样比较好看
:参数 turn:每次旋转的角度,改变这个角度,绘制的图形就会不一样
'''
for _ in range(num):
animal.forward(start_size)
animal.right(turn)
start_size+=3
animal.hideturtle()
def draw_star(animal):
'''
这是绘制五个围成一圈的五角星的方法
:参数 animal:画笔,也就是Turtle类的实例
'''
for i in range(5):
for _ in range(5):
animal.forward(100)
animal.right(144)
animal.penup()
animal.forward(350)
animal.right(144)
animal.pendown()
animal.hideturtle()
draw.py
from turtle_module import make_window,get_animal,draw_spiral
window=make_window('white','Draw a spiral')
#alex是我实例化的一个画笔
alex=get_animal('turtle',2,'blue',1)
#用alex画旋涡
draw_spiral(alex,60,1,89)
window.mainloop()
上面只展示了draw_spiral这个函数的调用,另外两个函数的调用方法一样,只是需要的参数不同,按照要求传递就好。