一段求101到201之间素数的代码,函数内运行结果有错,函数外结果正常,请高手指正下,谢谢。
import math
L = []
def thelist():
leap = 1
for m in range(101, 201):
k = int(math.sqrt(m + 1))
for i in range(2, k + 1):
if m % i == 0:
leap = 0
break
if leap == 1:
L.append(m)
leap = 1
thelist()
print(set(L))
leap = 1
L1 = []
for m in range(101, 201):
k = int(math.sqrt(m + 1))
for i in range(2, k + 1):
if m % i == 0:
leap = 0
break
if leap == 1:
L1.append(m)
leap = 1
print(L1)
>>函数里面
{131, 133, 137, 139, 143, 145, 149, 151, 155, 157, 161, 163, 167, 169, 173,
175, 179, 181, 185, 187, 191, 193, 197, 199, 101, 103, 107, 109, 113, 115,
119, 121, 125, 127}
不正确
>>函数外边
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173,
179, 181, 191, 193, 197, 199]
正确
|