"""
简易海龟画图学习程序.py
学习如何定义函数专用模块
"""
import math
import turtle
def square(t, length):
"""画正方形
t , 海龟对象
length,边长
"""
for i in range(4):
t.fd(length)
t.lt(90)
def polyline(t, n, length, angle):
"""画线段,有n段。
t: 海龟对象
n: 线段的数量
length: 线段的长度
angle: 线段之间的补角
"""
for i in range(n):
t.fd(length)
t.lt(angle)
def polygon(t, n, length):
"""画n正多边形。
t: 海龟对象
n: 边数
length: 边长
"""
angle = 360.0/n
polyline(t, n, length, angle)
def arc(t, r, angle):
"""用给定的半径和角度画弧。
t: 海龟对象
r: 半径
angle: 角度
"""
arc_length = 2 * math.pi * r * abs(angle) / 360
n = int(arc_length / 4) + 1
step_length = arc_length / n # 步长
step_angle = float(angle) / n # 步角
t.lt(step_angle/2)
polyline(t, n, step_length, step_angle)
t.rt(step_angle/2)
def circle(t, r):
"""画圆
t: 海龟对象
r: 半径
"""
arc(t, r, 360)
def main():
jack = turtle.Turtle()
jack.speed(0)
jack.screen.delay(0)
radius = 100
circle(jack, radius)
# 进入事件循环
turtle.mainloop()
if __name__ == '__main__':
main()