break和continue的流程优化

#break--可以用来立即退出循环语句
#continue--可以用来跳过当次循环

break和continue都是离他最近的循环起作用


#练习优化

from time import *
begin=time()
代码
end=time()
#计算程序的时间
print('程序执行了',end-begin,'秒')

i=2
while i<=10000:
#创建一个变量记录i得状态,默认认为i是质数
flag=True
#i是否是质数
#获取所有可能成为i得因数得数
j=2
while j<i:
if i%j==0:
#证明i能被j整除,证明i不是质数,修改flag为False
flag=False
j+=1
#验证结果并输出
if flag:
print(i)
i+=1

2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

上文代码花费了9.63秒

#优化
i=2
while i<=10000:
#创建一个变量记录i得状态,默认认为i是质数
flag=True
#i是否是质数
#获取所有可能成为i得因数得数
j=2
while j<i**0.5#(第二次优化,少去多余后面尝试整除的j范围):
if i%j==0:
#证明i能被j整除,证明i不是质数,修改flag为False
flag=False
break #(优化跳出循环(只要有一个j整除了i就不用再继续整除其他j)第一次运行变成1.1秒)
j+=1
#验证结果并输出
if flag:
print(i)
i+=1

思路案例:36的因数
2 18
3 12
4 9
6 6
j<根号i就好了,不用全部去尝试整除

上文流程优化后只花费了0.05秒!

posted @ 2020-04-12 18:00  Challen_Moon  阅读(262)  评论(0)    收藏  举报