如何使用三元运算符来编写这个if语句

时间:2016-05-05 12:19:26

标签: python if-statement pep

def get(count=None): 
    if count >= 1: 
        a = count - 1
    else: 
        a = 0
    return a

一切都在标题中..仅适用于运动。

谢谢

1 个答案:

答案 0 :(得分:2)

您的意思是使用ternary operator

a = count - 1 if count >= 1 else 0

如果countNone,您的代码将失败,因为您无法将非类型与整数进行比较。但我的回答是你如何在"更好的"方式。

因此 - 我会写这样的函数(感谢@pokemax的想法。):

def get(count=None):
    return max(count-1, 0) if isinstance(count, int) else 0