使用嵌套条件表达式

时间:2019-09-05 04:48:58

标签: python nested conditional-statements

我有一本书的练习,其中包含以下代码片段:

def binomial_coeff(n, k):
    """Compute the binomial coefficient "n choose k".

    n: number of trials
    k: number of successes

    returns: int
    """
    if k == 0:
        return 1
    if n == 0:
        return 0

    res = binomial_coeff(n-1, k) + binomial_coeff(n-1, k-1)
    return res

练习的目的是将if语句重写为嵌套条件表达式。我了解如何编写条件表达式,例如

return 1 if k == 0

我在这里想念什么? 通过嵌套进行此操作,我似乎无法弄清楚。 PyCharm一直抱怨代码的第二部分无法访问。

return 1 if k == 0 else return 0 if n == 0

1 个答案:

答案 0 :(得分:2)

return binomial_coeff(n-1, k) + binomial_coeff(n-1, k-1) if k != 0 and n != 0 else (1 if k == 0 else 0)

但是认真:您为什么要这么做?这真是令人难以理解。