【发布时间】:2012-09-06 20:37:59
【问题描述】:
代码如下:
list = [2, 3, 5, 7, 11, 13]
list2 = [range(list[-1], 2000000)]
y =11
x = 1
v = list[-1]>= x
while list[-1] ** 2 < 2000000:
y= y + 2
prime = True
while prime == True:
for x in list:
if x * 2 < y:
if y % x == 0:
prime = False
break
if prime == True:
list.append(y)
prime = False
print sum(list)
for u in list:
for w in list2:
if u * u < w:
if w % u == 0:
list2.pop(w)
print list
print sum(list) + sum(list2)
如您所见,这是一个基本程序,它创建一个筛子,然后为其放入最多 200 万个数字。这是针对 Euler 项目的,我正在尝试在学习编程时测试我的技能。
目前,本文标题为第 23 行的错误。发生这种情况的原因有哪些?
【问题讨论】:
-
我删除了你的大部分帖子,只关注问题本身。如需有关 Stack Overflow 本身的帮助,请转至 meta.stackoverflow.com。有关格式化,请参见 How do I format my code blocks? 示例。
-
Python 编程备注:不要命名变量
list,已经有一个内置类型list你现在已经隐藏了。 -
你的 cmets 很棒而且很有帮助。