除非语句的Python语法

时间:2019-04-02 12:04:20

标签: python

我的请求很简单,但我不知道如何进行:

我想按照以下方式在python中翻译一个else语句:

describe()

这只是一行代码,是很大功能的一部分。 任何想法?

提前谢谢!

5 个答案:

答案 0 :(得分:5)

taken_asks -= (1 if taken_asks != 0 else 0)

答案 1 :(得分:3)

短一点。

taken_asks -= (taken_asks != 0)
# (taken_asks != 0) is a boolean value, boolean value in Python is int.
# True is 1, False is 0

taken_asks = max(taken_asks-1, 0)

答案 2 :(得分:3)

对我来说,最明显的解决方案是将unless变成if not,在这种情况下:

if not taken_asks == 0:
    taken_asks -= 1

可以单行书写

if not taken_asks == 0: taken_asks -= 1

还有其他方法,但是我认为如果需要阅读的话,这很少。

答案 3 :(得分:1)

使用三元条件:

taken_asks = 0    
taken_asks -= 1 if taken_asks else 0    
print(taken_asks)   # 0

答案 4 :(得分:-1)

最新答案,但最简单的版本可能是:

taken_asks -= bool(taken_asks)

Demo


说明

Boolean类型变量继承自int,可用于算术运算,即:

  1. bool(< 1)返回None/Falseint(0)
  2. bool(> 0)返回Trueint(1)