为什么if语句保留在此代码中的表达式之后:

def checkio(number):
    """
    Convert into the string and iterate.
    """
    res = 1
    for d in str(number):
        res *= int(d) if int(d) else 1
    return res

最佳答案

这是一个三元运算符(或conditional expression),这是一种非常不理想的编写方式:

di = int(d)
if di:
   res *= di


无需将两次转换为整数,或者如果di为0,则不需要乘以1。在这种情况下,使用三元表达式不是一个好的选择。

关于python - 为什么如果语句在表达式之后保留,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59146065/

10-15 14:46