我的请求很简单,但我不知道如何进行:
我想按照以下方式在python中翻译一个else语句:
describe()
这只是一行代码,是很大功能的一部分。 任何想法?
提前谢谢!
答案 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)
说明:
Boolean
类型变量继承自int
,可用于算术运算,即:
bool(< 1)
返回None/False
(int(0)
)bool(> 0)
返回True
(int(1)
)