【问题标题】:Why is "num[0]+=1 if X else num[1]+=1" invalid syntax? [duplicate]为什么“num[0]+=1 if X else num[1]+=1”语法无效? [复制]
【发布时间】:2019-09-27 21:19:13
【问题描述】:
import random
num = [0,0]
for i in range(100):                                
    num[0]+=1 if random.randint(0,1) == 0 else num[1]+=1
print(num)                                            ^here

这似乎被识别为无效语法 谢谢

【问题讨论】:

  • 你不能在那些位置放一个声明;只有 表达式 是有效的。
  • 哦,干杯

标签: python


【解决方案1】:

希望这会有所帮助,

import random
num = [0,0]
for i in range(100):                                
    if random.randint(0,1) == 0:
        num[0]+=1
    else:
        num[1]+=1
print(num) 

【讨论】:

  • 谢谢,这实际上是为了挑战获得最少的行数,但我这样做了: import random num = [random.randint(0,1) for i in range(100) )] print(num.count(1),num.count(0)) 欢呼
【解决方案2】:

您无法执行else 中的语句。如果您需要在满足条件时将 num[0] 增加 1 并且如果不满足条件则需要增加不同的东西,您可以使用这种结构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-06
    • 2016-08-31
    • 2017-01-03
    相关资源
    最近更新 更多