''#我想打印num的素数#对于最后两个输出,else语句是否运行并在此处中断。如果条件已满
#如果我在此处中断,它如何继续到其他">
num=147
v=0
val=0
for i in range(2,num):
if num%i==0:
for x in range(2,i):
if i%x==0 :
print(i)
print(x)
print(i/x)
break
else:
v = i
else:
continue
print('primefacs ',v)
Python 3.8.1(默认,2020年2月2日08:37:37(
primefacs 3
primefacs 7
21
3
7.0
primefacs 21
49
7
7.0
primefacs 49
else
子句应该与for
-循环关联,而不是与内部循环部分中的if
-语句关联。
num = 147
v = 0
for i in range(2, num):
if num % i == 0:
for x in range(2, i):
if i % x == 0:
print(i)
print(x)
print(i / x)
break
# comes here if we didn't hit the `break` above
else:
v = i
else:
continue
print('primefacs ', v)
输出:
primefacs 3
primefacs 7
21
3
7.0
primefacs 7
49
7
7.0
primefacs 7