Python break 和 continue 语句, 以及循环中的 else 子句的用法?

如题所述

Python 中的 for 语句和 C 或 Pascal 中的略有不同。通常的循环可能会依据一个等差数值步进过程(如 Pascal),或由用户来定义迭代步骤和中止条件(如 C ),Python 的 for 语句依据任意序列(链表或字符串)中的子项,按它们在序列中的顺序来进行迭代。例如(没有暗指):
>>> # Measure some strings:
... words = ['cat', 'window', 'defenestrate']
>>> for w in words:
... print(w, len(w))
...
cat 3
window 6
defenestrate 12
在迭代过程中修改迭代序列不安全(只有在使用链表这样的可变序列时才会有这样的情况)。如果你想要修改你迭代的序列(例如,复制选择项),你可以迭代它的复本。使用切割标识就可以很方便地做到这一点:
>>> for w in words[:]: # Loop over a slice copy of the entire list.
... if len(w) > 6:
... words.insert(0, w)
...
>>> words
['defenestrate', 'cat', 'window', 'defenestrate']
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-03-15

break:当某些条件成立,退出整个循环

例如:吃5个苹果--循环:吃完第3个吃饱了,第4个和第5个不吃了(不执行--==4 或 》3)


i = 1

while i <= 5:

# 条件:如果吃到第4或>3 打印吃饱了不吃了

if i == 4:

print('吃饱了,不吃了')

break


print(f'吃了第{i}个苹果')

i += 1


continue:当条件成立,退出当前一次循环,继而执行下一次循环

例如:吃5个苹果--循环:吃到第3个吃出一个虫子,第3个不吃了,继续吃第4和第5个


i = 1

while i <= 5:

# 条件

if i == 3:

print('吃出一个虫子,这个苹果不吃了')

# 如果使用continue,在continue之前一定要修改计数器,否则进入死循环

i += 1

continue

print('吃了第{i}个苹果')

i += 1

第2个回答  2021-03-15
continue:继续(继续下一轮循环,本次循环结束)
i=0
while i<6:
……i+=1
……if i%2 == 0 :
…………continue
print(i)
结果为1,3,5

break:(满足当前条件就可以直接跳出循环)
i=0
while i<6:
……i+=1
……if i%2 == 0 :
…………break
print(i)
结果为1

else:
当有break或return的时候,不执行else当有break或return的时候,执行else。当有continue的时候,执行else。
相似回答