简易海龟画图学习程序.py

简易海龟画图学习程序.py

"""
   简易海龟画图学习程序.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()

李兴球

李兴球的博客是Python创意编程原创博客