Python-单行条件语法错误?

时间:2018-08-24 15:28:14

标签: python logic conditional

我正在对此进行测试,以计算数组的前3个元素中的偶数和奇数。

这有效:

 for i in range(3):
    if int(numbers[i]) % 2 == 0:
        ev +=1
    else:
        od +=1
    print(ev, od)

但这给我一个错误:

for i in range(3):
        ev += 1 if numbers[i] % 2 == 0 else od += 1
        print(ev, od)

ev += 1 if numbers[i] % 2 == 0 else od += 1
                                            ^
SyntaxError: invalid syntax

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

内联if / else用于值。因此,在else情况下,其读为:

ev += od += 1

那没有道理。在这种情况下,内联if / else(又称三元条件)是不合适的。