【问题标题】:Python - Single Line Conditional syntax error? [duplicate]Python - 单行条件语法错误? [复制]
【发布时间】:2018-08-24 15:28:13
【问题描述】:

我正在对此进行测试,以计算数组前 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

有什么想法吗?

【问题讨论】:

    标签: python logic conditional


    【解决方案1】:

    内联 if/else 用于值。所以,在else 的情况下,它的意思是:

    ev += od += 1
    

    这没有意义。在这种情况下,内联if/else,也就是三元条件,是不合适的。

    【讨论】:

      猜你喜欢
      • 2015-07-21
      • 2014-07-06
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 2017-12-15
      • 1970-01-01
      • 1970-01-01
      • 2018-02-16
      相关资源
      最近更新 更多