小编Joh*_*n K的帖子

无法弄清楚如何使用all()在我的"代码"中工作

m = range(1, 2000000, 2)
sum1 = 2
for x in xrange(1, 2000000, 2):
    for y in m:
        if x != y:
            if x%y == 0:
                m.remove(x)
            if all(x%y != 0):
                sum1 += x
Run Code Online (Sandbox Code Playgroud)

这就是我写的.这是一个问题,试图添加所有的素数以下200万.我的问题出在all()语句中.我想要发生的是检查x是否是素数; 只有当每个x%y给出余数时才是这样.

另外,如果我使用a,我可以使用语句(break?)来停止循环,如果y> x/3,就像这样:

 m = range(1, 2000000, 2)
sum1 = 2
for x in xrange(1, 2000000, 2):
    for y in m:
        if y > x/3:
            break
        else:
            if x != y:
                if x%y == 0:
                    m.remove(x)
                if all(x%y != 0):
                    sum1 += x
Run Code Online (Sandbox Code Playgroud)

python python-2.7

3
推荐指数
1
解决办法
6430
查看次数

标签 统计

python ×1

python-2.7 ×1