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

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
#如果是素数,把值增加到L列表
if i % y != 0:
l.append(i)print l
print l

小唯快跑啊
浏览 155回答 2
2回答

暮色呼如

# -*- coding: utf-8 -*-import mathl = []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

qq_笑_17

你的逻辑和语法上都有一些错误我修改了下:# -*- coding: utf-8 -*-import mathl = []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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python
Java