我是Python新手,对for循环中“break”的工作方式感到困惑。{Python文档中有一个范围为^的素数(^)计算在1文档中:
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
break
else:
# loop fell through without finding a factor
print(n, 'is a prime number')
输出是:
^{pr2}$但是,当我在代码中升级“break”时:
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
break
else:
# loop fell through without finding a factor
print(n, 'is a prime number')
输出将是:
2 is a prime number
4 equals 2 * 2
6 equals 2 * 3
8 equals 2 * 4
你能解释一下我升级“break”后代码里发生了什么吗?谢谢你
当然-简单地把“中断”去掉意味着它不再受制于前面的“如果”。在
代码读取if语句,对其进行操作,然后不管if语句是真是假,它都会执行“break”并退出for循环。在
在第一个示例中,只有当n%x==0语句为true时,代码才会退出“for”循环。在
请尝试执行以下代码-这可能会使其更清楚:
对比:
^{pr2}$我相信输出可以帮助你了解发生了什么。#1仅在满足if条件时中断,而无论if条件是否满足,#2始终中断。在
相关问题 更多 >
编程相关推荐