Python求10以内的素数,结果好奇怪

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            break
        else:
            print(n,"是一个素数")

img


for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            break
    else:
        print(n,"是一个素数")

根本原因是你的缩进错了。这里不是ifelse,是forelse
for else会在for正常运行完后运行。所以如果for被break了,else就不会执行了

一个数,你要把里层循环也就是n%上所有比他小的数,循环完才能判断一个数是不是素数