首页 > 解决方案 > 使用嵌套条件表达式

问题描述

我有一个带有此代码片段的书中的练习:

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

标签: pythonnestedconditional-statements

解决方案


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)

但说真的:你为什么要这样做?这真是难以阅读。


推荐阅读