单行if-then语法使用链式比较?

时间:2018-01-06 19:39:48

标签: python python-3.x comparison

我正在尝试从3行简化链式比较:

if -10 < amount < 10:  # amount can range from -999 to 999
    width = 3
else:
    width = 2

到1行表达式:

width = 3 if (-10 < amount < 10) else width = 2

Pycharm抛出SyntaxError

  

SyntaxError:无法分配给条件表达式

如何纠正写入方式简化此声明?我试过了:

width = 3 if (-10 < amount) else width = 2

但我收到同样的错误。我正在使用Python 3.谢谢。

1 个答案:

答案 0 :(得分:7)

你想写

width = 3 if (-10 < amount < 10) else 2

整个右侧有一个值,然后分配给宽度。