python 这段代码为什么会运算结果有问题

2025-03-11 03:01:36
推荐回答(2个)
回答1:

# -*- coding: utf-8 -*-
import math
l = []
for i in range(101,201):
    x = int(math.sqrt(i))   #用i 分别除以int(math.sqrt(i))的值,查看i是否是素数
    for y in range(2,x+1):       #如果是非素数,退出运行       
     if i % y == 0 and i != y:
      break
     if i % y != 0 and i not in l:
      l.append(i)
print l

回答2:

你的逻辑和语法上都有一些错误

我修改了下:

# -*- coding: utf-8 -*-
import math
l = []
for i in range(101,201):
    x = int(math.sqrt(i))
    flag=1
    for y in range(2,x+1):
        if i%y == 0:
            flag=0
            break
    if flag:
        l.append(i)
print l


希望我的回答可以帮到你