本文共 1692 字,大约阅读时间需要 5 分钟。
本文,我们通过python2学习一下python中的while循环和for循环。
首先,通过这两种循环,编写python2代码,找2~100间的所有素数。
#通过while循环,找2~100间的所有素数
from math import sqrt j=2 while j<=100:#依次判断2~100间的数,是否是素数 i=2 k=int(sqrt(j)) #依次判断2~k间的每一个数,检查j能否被其中的某个数整除 while(i<=k): if j%i==0:#若j能够被2~k间的某个数整除,则说明j不是素数,通过break结束while循环。 break i=i+1 #有2种情况会导致while循环结束 # 1》while循环中的条件i<=k不成立时,结束了while循环,此时,i>k,说明j是个素数 # 2》j%i==0为真,通过break结束了while循环,此时,i<=k,说明j不是素数 if (i>k):# i>k,说明j是个素数,输出该素数。 print j, j=j+1#更新j的取值,判断下一个数是否是素数运行结果如下:
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#通过for循环,找2~100间的所有素数
from math import sqrt for j in range(2,101):#依次判断2~100间的数,检查其是否是素数 flag=1#判断整数j时,首先将flag置为1,表示初始时,假定j是素数 k=int(sqrt(j)) for i in range(2,k+1):#依次判断2~k间的每一个数,检查j能否被其中的某个数整除 if j%i==0:#若j能够被i整除,则将flag置为0,表示j不是素数,并且结束for循环 flag=0 break if(flag==1):#若flag是1,说明j是素数,输出j print j,运行结果如下:
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
循环中,经常使用break语句和continue语句,二者是有区别的:
break是打断循环,提前结束循环,继续执行循环之后的语句。
continue是结束本次循环,循环体中continue之后的语句不执行,继续执行下一次循环。
break举例如下:
s=0
i=1 while i<=5: s+=1 if i==3: break#打断while循环,提前结束while循环 print "i=%d,s=%d"%(i,s) i+=1运行结果如下:
i=1,s=1
i=2,s=2continue举例如下:
s=0 i=1 while i<=5: s+=1 i=i+1 if i==3: continue#结束本次循环,循环体中continue后边的语句不执行,继续进行下一次循环 print "i=%d,s=%d"%(i,s)运行结果如下:
i=2,s=1
i=4,s=3 i=5,s=4 i=6,s=5python中,循环常常结合else使用:
如果循环代码从break处终止,跳出循环(不执行else代码) 如果循环代码正常结束,则执行else中的代码举例如下:
1》循环代码正常结束,则执行else中的代码
k=5
for i in range(1,10): if k==3: break else: print i, else: #输出for循环结束时,i 的值 print i运行结果如下:
1 2 3 4 5 6 7 8 9 9
2》循环代码从break处终止,跳出循环(不执行else代码)
for i in range(1,10,2):
if i%5 == 0: print "Bingo!" break#条件成立时,结束for循环,else部分不执行 else: print i运行结果如下:
Bingo!
转载地址:http://mfyai.baihongyu.com/