问题描述:找出2-1000的回文素数。
import math
for i in range(2, 1001):
for j in range(2, int(math.sqrt(i))):
if i % j == 0:
break
else:
m = str(i)
if m[0] == m[-1]:
print("%d为回文素数" % i)
Python中for循环和else是可以连用的,当for循环执行完就会执行else里的代码,如果被break就不会执行else中的代码。
官方的解释为:当迭代的对象迭代完并为空时,位于else的语句将会执行,而如果在for循环里有break时,则会直接终止循环,并不会执行else里的代码。