![](/img/trans.png)
[英]TypeError: unsupported operand type(s) for /: 'list' and 'int'
[英]typeerror unsupported operand type(s) for %: 'list' and 'int'
这是代码:
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万。 这是项目欧拉,我正在尝试测试我的技能,因为我学习编程。
现在,这篇文章的标题是第23行的错误。出现这种情况的原因是什么?
range()
已经返回一个列表,但是你把它放到一个新的列表中:
list2 = [range(list[-1], 2000000)]
这导致包含列表的列表,并w
后来被设置为全范围。 只需删除那里的括号。
>>> [range(5)]
[[0, 1, 2, 3, 4]]
>>> range(5)
[0, 1, 2, 3, 4]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.