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

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']

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 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网