循环代码优化
遵循以下三个原则,提高运行效率,避免不必要的低效计算:
- 尽量减少循环内部不必要的计算
- 嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
- 局部变量查询较快,尽量使用局部变量。
#循环代码优化测试
import time
start=time.time()
for i in range(1000):
result=[]
for m in range(10000):
result.append(i*1000+m*100)
end=time.time()
print("耗时,{0}".format((end-start)))
start2=time.time()
for i in range(1000):
result=[]
c=i*1000
for m in range(10000):
result.append(c+m*100)
end2=time.time()
print("耗时:{0}".format((end2-start2)))
其他优化手段:
- 连结多个字符串,使用join()而不使用+
- 列表进行元素插入和删除,尽量在列表尾部操作。
绘制不同颜色的多个同心圆
#绘制不同颜色的多个同心圆
import turtle
t=turtle.Pen()
my_colors=("red","green","yellow","black")
t.width(4)
t.speed(10)
for i in range(5): #0 1 2 3 4
t.penup()
t.goto(0,-i*10) #0 -10 -20 -30 -40
t.pendown()
t.color(my_colors[i%len(my_colors)])
t.circle(15+i*10)
turtle.done()
绘制棋盘
#绘制棋盘
import turtle
width=30
num=18
x1=[(-400,400),(-400+width*num,400)]
y1=[(-400,400),(-400,400-width*num)]
t=turtle.Pen()
t.speed(10)
#t.goto(x1[0][0],x1[0][1])
#t.goto(x1[1][0],x1[1][1])
for i in range(0,19):
t.penup()
t.goto(x1[0][0],x1[0][1]-30*i)
t.pendown()
t.goto(x1[1][0],x1[1][1]-30*i)
for i in range(0,19):
t.penup()
t.goto(y1[0][0]+30*i,y1[0][1])
t.pendown()
t.goto(y1[1][0]+30*i,y1[1][1])
turtle.done()