Python 使用嵌套条件表达式

Python 使用嵌套条件表达式,python,nested,conditional-statements,Python,Nested,Conditional Statements,我有一本书中的练习,其中包含以下代码片段: def二项系数(n,k): “”“计算二项式系数“n选择k”。 n:审判次数 k:成功的次数 返回:int """ 如果k==0: 返回1 如果n==0: 返回0 res=二项系数(n-1,k)+二项系数(n-1,k-1) 返回res 本练习的目标是将if语句重写为嵌套的条件表达式。我知道如何写条件表达式 如果k==0,则返回1 我错过了什么? 通过这样做,我似乎无法理解。PyCharm一直抱怨代码的第二部分无法访问 如果k==0,则返回1;如果n

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

def二项系数(n,k):
“”“计算二项式系数“n选择k”。
n:审判次数
k:成功的次数
返回:int
"""
如果k==0:
返回1
如果n==0:
返回0
res=二项系数(n-1,k)+二项系数(n-1,k-1)
返回res
本练习的目标是将if语句重写为嵌套的条件表达式。我知道如何写条件表达式

如果k==0,则返回1
我错过了什么? 通过这样做,我似乎无法理解。PyCharm一直抱怨代码的第二部分无法访问

如果k==0,则返回1;如果n==0,则返回0
但说真的:你为什么要这么做?那简直是难以理解


但说真的:你为什么要这么做?那简直是不可思议的不可读。

Nested只不过是
如果elif else
条件表达式和你对Pycharm的怀疑,这个错误意味着
返回
之后的任何语句在函数中都是不可访问的,嵌套的只是
如果elif else
条件表达式和您对py的怀疑,错误意味着在函数中无法访问
返回后的任何语句。这是我最初写的一本书中的练习。是的,我知道。但是如果有人写了这样的练习,并且没有明确说明这是一个糟糕的代码,那么也许你应该换本书。我的意思是,这个练习没有教你什么有用的东西。我同意你的看法,这不是很有用。特别是因为这本书只在半页上讨论了条件表达式,但没有解释如何使用它们。因此,这让IHMO有点困惑。但谢谢你的代码片段。这是我最初写的一本书中的练习。是的,我知道。但是如果有人写了这样的练习,并且没有明确说明这是一个糟糕的代码,那么也许你应该换本书。我的意思是,这个练习没有教你什么有用的东西。我同意你的看法,这不是很有用。特别是因为这本书只讨论了半页上的条件表达式,但没有解释如何嵌套使用条件表达式。因此,这让IHMO有点困惑。但是谢谢你的代码片段。
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)