语法错误:输入错误 - Python

时间:2013-04-15 19:32:40

标签: python arrays syntax-error

我有这段代码:

num = range(1,33)
num[0]=1
num[1]=2
for i in range(2,32):
    num[i]=num[i-1]+num[i-2]


total=0
for i in range(0,32):
    print num[i]
    if num[i]%2==0:
    total=total+num[i]
    else:
    num[i]=num[i+1]

我想找到num数组中偶数的总和。谁能提出我在这里做错了什么?

2 个答案:

答案 0 :(得分:7)

缩进在python

中非常重要
if num[i]%2==0:
total=total+num[i]
else:
num[i]=num[i+1]

应该是

if num[i]%2==0:
    total=total+num[i]
else:
    num[i]=num[i+1]

此外,在每个必须引入缩进的位置使用一致的缩进,例如4个空格。

答案 1 :(得分:2)

<强>可替换地:

total = sum([i for i in num if i % 2 == 0])

例如:

>> num = [1,2,3,4]
>> tmp = [i for i in num if i % 2 == 0]
>> print tmp
[2,4]

>> total = sum(tmp)
>> print total
6