利用turtle画多个连续的正多边形

利用python绘制如下图像
利用turtle画多个连续的正多边形_第1张图片
具体要求:从等边三角形开始,至13边行为止,连贯的画出上述图形,中间不可以有停顿。


思考
很明显这一题是利用turtle进行解答。
经过思考,我们可以将画图的过程分成“转角”和“前进”。“前进”不难,关键是如何“转角”。“转角”部分可以分成“一个等边图形内”和“等边图形之间的转化”两部分。”等边图形内“的转角很简单,就是360/i。“等边图形之间的转化”的转角则需要以相反的方向转换本次多边形的外角。


利用turtle画多个连续的正多边形_第2张图片


#!/usr/bin/env python
#-*- coding:utf-8 -*-
import turtle

t = turtle.Pen()

t.forward(50)
for i in range(3,14):
    angle = 360/i

    for j in range(i - 1):
        if i % 2 == 1:
            t.left(angle)
        else:
            t.right(angle)
        t.forward(50)
    if i % 2 == 0:
        t.left(180 - 360/i)
    else:
        t.right(180 - 360/i)

你可能感兴趣的:(python)