python for 循环中else语句不执行

a = 0
x = 100
for j in range(2, x + 1):
for i in (2, j):
if j % i == 0:
break
else:
a += 1
print(a)

n = 100
a = 0
for x in range(2, n+1):
for i in range(2, x):
if x % i == 0:
break
else:
a += 1
print(a)
这两个代码是一模一样的,但是输出的结果不一样,第一个代码到break那里就不走了,结果显示的是0,第二个就正常这是为什么

麻烦你用代码块贴代码,你这样没有层级,python代码是没法阅读的

可能是有些代码缩进不对吧,检查一下缩进,我这边第一个输出正常,如图:

img

python代码讲就缩进,请注意两个代码的缩进是否完全一样