少儿python编程之画正多边形代码优化教程

我们这里有一段程序,要求把它缩短,程序是这样的:

"""050_找规律优化程序.py
  在本课中, 我们把代码进行修改。  
"""
from turtle import *
from time import sleep

小龟=Turtle()
小龟.speed(1)

for i in range(3):
    小龟.fd(30)    
    小龟.right(120)

sleep(2)
小龟.clear()      
for i in range(4):
    小龟.fd(30)    
    小龟.right(90)

sleep(2)
小龟.clear()            #清除屏幕图像
for i in range(8):
    小龟.fd(30)    
    小龟.right(45)

sleep(2)
小龟.clear()
for i in range(16):
    小龟.fd(30)    
    小龟.right(22.5)

sleep(2)
小龟.clear()
for i in range(36):
    小龟.fd(30)   
    小龟.right(10)

我们从代码看到有一只小海龟首先重复3次画了三角形,然后是重复4次画了正方形,接着是8次,16次,36次,都是画正多边形。所以我们应该定义一个画正多边形的函数。 为了再次缩短代码我们可以把这些重复的次数放到一个列表里头,然后依次把列表里的迭代出来,每迭代出一次就画一个正多边形。下面是优化缩短后的代码:

"""050_找规律优化程序.py
  在本课中, 我们把代码进行修改。  
"""
from turtle import *
from time import sleep

小龟=Turtle()
小龟.speed(1)

def 画多边形(龟,边长,边数):
    for i in range(边数):
        龟.fd(边长)
        龟.right(360/边数)

表=[3,4,8,16,36]
for 数 in 表:
    画多边形(小龟,30,数)
    sleep(2)
    小龟.clear()