Python break 和 continue 语句, 以及循环中的 else 子句的用法? 如何正确的理解python for循环中的else用法
python\u4e2d\u5faa\u73af\u91ccbreak\u7684\u7528\u6cd5\uff1f\u4f60\u628abreak\u6539\u6210exit\uff08\uff09\u5c31\u53ef\u4ee5\u505c\u6b62\u6e38\u620f\u4e86\uff1a
\u770b\u6211\u7684\u622a\u56fe
break\u7684\u7528\u6cd5\uff1a
break\u8bed\u53e5\u7528\u6765\u7ec8\u6b62\u5faa\u73af\u8bed\u53e5\uff0c\u5373\u5faa\u73af\u6761\u4ef6\u6ca1\u6709False\u6761\u4ef6\u6216\u8005\u5e8f\u5217\u8fd8\u6ca1\u88ab\u5b8c\u5168\u9012\u5f52\u5b8c\uff0c\u4e5f\u4f1a\u505c\u6b62\u6267\u884c\u5faa\u73af\u8bed\u53e5\u3002
break\u8bed\u53e5\u7528\u5728while\u548cfor\u5faa\u73af\u4e2d\u3002
\u5982\u679c\u60a8\u4f7f\u7528\u5d4c\u5957\u5faa\u73af\uff0cbreak\u8bed\u53e5\u5c06\u505c\u6b62\u6267\u884c\u6700\u6df1\u5c42\u7684\u5faa\u73af\uff0c\u5e76\u5f00\u59cb\u6267\u884c\u4e0b\u4e00\u884c\u4ee3\u7801\u3002
exit\uff08\uff09\u7528\u4e8e\u7ec8\u6b62\u7a0b\u5e8f
\u7a0b\u5e8f\u4e2d\u7684else\u8bed\u53e5\u662f\u4fbf\u4e8e\u5904\u7406\u67d0\u79cd\u884c\u4e3a\uff0c\u5728\u5faa\u73af\u7684\u6b63\u5e38\u7ec8\u6b62\u65f6\u6267\u884c\uff1a\u5373\u4ee5return\u6216\u8005break\u65b9\u5f0f\u9000\u51fa\u5faa\u73af\u5c06\u4f1a\u5ffd\u7565else\u8bed\u53e5\uff1b\u5b58\u5728continue\u8bed\u53e5\u5c06\u4f1a\u6267\u884celse\u3002\u6211\u770b\u4e86\u4e00\u904d\u53c8\u4e00\u904d\u4e5f\u53ea\u77e5\u6653\u8fd9\u4e2a\uff0c\u4f46\u6211\u4e00\u76f4\u8bb0\u4e0d\u8d77else\u5728\u4f55\u65f6\u4f1a\u88ab\u6267\u884c\u3002
\u662f\u6c38\u8fdc\u88ab\u6267\u884c\uff1f\u987e\u540d\u601d\u4e49\u5728\u5faa\u73af\u5931\u6548\u65f6\uff1f\u5728\u6b63\u5e38\u7ed3\u675f\u65f6\uff1f\u78b0\u5230return\u8bed\u53e5\u9000\u51fa\u5faa\u73af\u65f6\uff1f
\u5728\u5173\u952e\u8bcd\u9009\u62e9\u4e0a\u7684\u4e0d\u786e\u5b9a\u6027\u8ba9\u6211\u5f88\u61ca\u607c\uff0c\u6211\u53d1\u73b0else\u4f7f\u7528\u4e0a\u4e0d\u786e\u5b9a\u6027\u5f88\u5927\u3002\u6211\u7684\u95ee\u9898\u4e0d\u662f\u201c\u8fd9\u4e2a\u5173\u952e\u8bcd\u4f1a\u88ab\u7528\u7684\u76ee\u7684\u201d\uff0c\u800c\u662f\u600e\u4e48\u628aelse\u7684\u8bed\u6cd5\u5f04\u6e05\u695a\u5e76\u4e14\u8bb0\u4f4f\u5b83\u3002
\u6211\u786e\u5b9a\u8fd9\u80fd\u5f15\u8d77\u76f8\u5f53\u6570\u91cf\u7684\u8ba8\u8bba\uff0c\u800c\u4e14\u6211\u80fd\u60f3\u8c61\u8fd9\u4e2a\u5173\u952e\u8bcd\u9009\u62e9\u4e0etry else\u7684\u8bed\u6cd5\u4f7f\u7528\u4e0a\u5177\u6709\u4e00\u81f4\u6027\u3002\u4e5f\u8bb8\u57fa\u4e8e\u8fd9\u4e2a\u539f\u56e0\u9009\u62e9else\u80fd\u591f\u8fa8\u522b\u5b83\u7684\u529f\u80fd\uff0c\u5e76\u4e14\u66f4\u5bb9\u6613\u8bb0\u5fc6\u3002
>>> # 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']
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
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。
扩展阅读:java windowbuilder ... python random ... python eval ... python sorted ... python if else ... python while true ... python if break ... python range ... python continue ...