python - 使用嵌套条件表达式
问题描述
我有一个带有此代码片段的书中的练习:
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
解决方案
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)
但说真的:你为什么要这样做?这真是难以阅读。
推荐阅读
- java - 如何显示条目是否在数据库中?
- string - Powershell Sting 操作
- javascript - Javascript计时器已经在运行,只有在刷新时间重复时,如何防止时间重复
- java - 如何验证文件是否已创建并获取文件内容?
- c# - 如何解决我的项目依赖问题?
- mongodb - 从主机连接到访客 VM 中的 mongodb
- .net - 在 Visual Studio 构建后事件中获取 .NET 目标平台
- gcc - 要求 gcc 打印没有 dir 的错误位置,只打印文件名
- c++ - 学习使用 pthread,调用函数 master_Level() 时将 pthread 作为参数传递的正确语法是什么?
- kubernetes - Harbor 多版本映像