python 中的循环语句只有 for 和 while两种,没有do…while循环,这与c/c++是不同的。
1. while循环
(1) 语法格式
while <condition>:
...
# demo, 使用while循环累加1-100的和。
sum= 0
counter= 1
while counter <= 100:
sum += counter
counter += 1
print("sum is:> ", sum)
2. while…else…
(1)
语法格式
while <condition>:
# 循环主体
else:
# 循环结束后执行的代码
(2)
else语句的执行时机:当while条件不满足时执行
。
# demo
sum= 0
counter= 1
while counter <= 3:
print('counter:> ', counter, '<=3')
sum += counter
counter += 1
else:
print('counter:> ', counter, '大于3(不满足while循环条件, 此时执行else分支.)')
(3)
但是注意:如果while循环中执行了break子句,那么else语句是不会执行的
。
# 因为while循环中执行了break语句, 所以else分支不会被执行.
sum= 0
counter= 1
while counter <= 3:
print('counter:> ', counter, '<=3')
sum += counter
if(counter == 3):
break
counter += 1
else:
print('else分支将不会被执行.')
3. 简单语句组
类似 if 语句的语法,如果你的 while 循环体中只有一条语句
,你可以将该语句与 while 写在同一行中
。
count=2
while(count==2): print('HelloWorld.')
4. for循环
for 循环可以遍历任何可迭代对象
,如一个列表或者一个字符串。
(1) 语法格式
for <variable> in <sequence>:
...
else:
...
# demo
hobby = ["eat", "sing", "dance", "play"]
for item in hobby:
print(item, end=' ')
5. for…else…
在 python 中,for…else 语句用于在循环结束后执行一段代码。
(1)
语法格式
for item in iterable:
# 循环主体
else:
# 循环结束后执行的代码
(2)
else语句的执行时机
:当for条件不满足时执行
。
hobby = ["eat", "sing", "dance", "play"]
for item in hobby:
print(item, end=' ')
else:
print('')
print('循环结束, 将执行else语句.')
(3)
但是注意:如果for循环中执行了break子句,那么else语句是不会执行的
。
# 因为for循环中执行了break语句, 所以else分支不会被执行.
hobby = ["eat", "sing", "dance", "play"]
for item in hobby:
print(item, end=' ')
if(item == 'play'):
break
else:
print('')
print('循环结束, 将执行else语句.
6. break关键字
(1)
break 语句可以跳出 for 和 while 的循环体,直接导致整个循环结束
。
break关键字一般使用在if条件分支当中。
# 当count为4时, 直接执行break语句, 导致while循环直接结束(for循环亦如此, 不再赘述).
count= 1
while count <= 5:
print("count is:>", count, " count <= 3")
count+=1
if(count == 4):
break
(2)
break关键字只会使得其所在的那一层循环退出
假如存在一个双重for循环,并且在内循环之中使用了break关键字,那当如何?
答
:如果执行了内循环中的break语句,那么只会使得内循环直接结束,外循环不受影响。
for item in ['1', '2', '3', '4']:
for it in ['first', 'second', 'third', 'fourth']:
print(f'{item}-{it}', end=' ')
print('')
接下来改变一下代码,在内循环中增加break关键字。
# 很明显, item=‘3’时, 将执行break语句,
# 此时直接跳出内循环(结束内循环), 接着执行内循环外的语句print(''),
# 再接下来继续执行外循环,,,
for item in ['1', '2', '3', '4']:
for it in ['first', 'second', 'third', 'fourth']:
if(item == '3'):
break
print(f'{item}-{it}', end=' ')
print('')
7. continue关键字
continue仅仅是用来结束本次循环
。当执行完continue语句时,那么直接结束本次循环,其后面的语句都不会被执行
。接着进行下一次循环。
continue关键字一般使用在if条件分支当中。
# 当value为偶数时, 执行continue语句, 结束本次循环, 后面的HelloWorld...语句不会被执行.
for value in [1,2,3,4]:
if(value % 2 == 0):
continue
else:
print('value is odd ', value)
print('HelloWorld...')
8. pass 语句
pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句
。
for item in ['1', '2', '3', '4']:
if(int(item)==2):
print('Ok.')
pass
pass