《像计算机科学家一样思考Python》练习4-3

题目:

画出如下的图形

《像计算机科学家一样思考Python》练习4-3_第1张图片


思路:

isosceles函数:画一个等腰三角形。具体步骤如下:

《像计算机科学家一样思考Python》练习4-3_第2张图片

主要代码如下:

import turtle
import math
bob = turtle.Turtle()
bob.delay = 0.001
def isosceles(t, r, angle):
    y = r * math.sin(angle * math.pi / 180)
    t.rt(angle) # 向右转angle度
    t.fd(r)
    t.lt(90 + angle) #向左转
    t.fd(2 * y)
    t.lt(90 + angle)
    t.fd(r)
    t.rt(180-angle)


def polypie(t, n, r):
    angle = 360.0 / n
    for i in range(n):
        isosceles(t, r, angle/2)


def draw_pie(t, n, r):
    polypie(t, n, r)
    t.pu()
    t.fd(r*2 + 10)
    t.pd()

bob.pu()
bob.bk(130)
bob.pd()
size = 40
draw_pie(bob, 5, size)
draw_pie(bob, 6, size)
draw_pie(bob, 7, size)
draw_pie(bob, 8, size)

bob.hideturtle()

turtle.mainloop()

你可能感兴趣的:(Python)