遍历循环、无限循环、循环控制保留字、循环的高级用法
遍历循环
遍历某个结构组成的循环运行方式
for <循环变量>in<遍历结构>:
<语句块>
- 从遍历结构中逐一提取元素,放在循环变量中
- 由保留字for和in组成,完整遍历所有元素后结束
- 每次循环,所获得元素放入循环变量,并执行一次语句块
应用:
计数循环(N次)
for i in range(N):
<语句块>
遍历由range()函数产生的数字序列,产生循环
for i in range(M,N,K):
<语句块>range()由M读到N,以K为步长
字符串遍历循环
for c in s:
<语句块>
s是字符串,遍历字符串每个字符,产生循环
for c in "Python123":
print(c,end=",")
列表遍历循环
for item in Is:
<语句块>
Is是一个列表,遍历其元素,产生循环
for item in [123,"PY",456]:
print(item,end=",")
文件遍历循环
for line in fi:
<语句块>
fl是一个文件标识符,遍历其每行,产生循环
无限循环
由条件控制的循环运行方式
while <条件>:
<语句块>
反复执行语句块,直到条件不满足时结束
a=3
while a>0:
a=a-1
print(a)
循环控制保留字
break 和continue
break跳出并结束当前整个循环,执行循环后的语句
continue结束当次循环,继续执行后续次数循环
都可以与for、while搭配使用
for c in "PYTHON":
if c=="T":
continue
print(c,end=",")
P,Y,H,O,N,
for c in "PYTHON":
if c=="T":
break
print(c,end=",")
P,Y,
s="PYTHON"
while s!="":
for c in s:
print(c,end=",")
s=s[:-1]
P,Y,T,H,O,N,P,Y,T,H,O,P,Y,T,H,P,Y,T,P,Y,P,
s="PYTHON"
while s!="":
for c in s:
if c=="T":
break
print(c,end=",")
s=s[:-1]
P,Y,P,Y,P,Y,P,Y,P,Y,P,
break只退出最内层循环(1个break跳出1个循环)
循环的高级用法
循环的扩展
循环与else
for <循环变量>in<遍历结构>:
<语句块1>
else:
<语句块2>
当循环没有被break语句退出时,执行else语句块,
else语句块作为“正常”完成循环的奖励
例 圆周率的计算
pi=0
N=100
for k in range(N):
pi+=1/pow(16,k)*(4/(8*k+1)-2/(8*k+4)-1/(8*k+5)-1/(8*k+6))
print("圆周率是:{}".format(pi))
圆周率是:3.141592653589793