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

art*_*son 0 python comparison python-3.x

我试图从3行简化链式比较:

if -10 < amount < 10:  # amount can range from -999 to 999
    width = 3
else:
    width = 2
Run Code Online (Sandbox Code Playgroud)

到一行表达式:

width = 3 if (-10 < amount < 10) else width = 2
Run Code Online (Sandbox Code Playgroud)

Pycharm抛出一个 SyntaxError

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

什么是纠正写的方式简化这个陈述?我试过了:

width = 3 if (-10 < amount) else width = 2
Run Code Online (Sandbox Code Playgroud)

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

Han*_*ave 7

你想写

width = 3 if (-10 < amount < 10) else 2
Run Code Online (Sandbox Code Playgroud)

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