我们这里有一段程序,要求把它缩短,程序是这样的:
"""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()