python - 使用 lambda 函数对数字求和和计算数字

标签 python recursion lambda python-2.x ternary-operator

如何将这两个函数转换为使用 lambda 表示法?

def sum_digits(number):
    if number == 0:
        return 0
    else:
        return (number % 10) + sum_digits(number / 10)

def count_digit(number):
    if number == 0:
        return 0
    else:
        return 1 + count_digit(number/10)

最佳答案

sum_digits = lambda number: 0 if number == 0 else (number % 10) + sum_digits (number / 10)

count_digit = lambda number: 0 if number == 0 else 1 + count_digit(number/10)

顺便说一下,现在不是使用 lambda 的时间,因为您需要函数名称以便它们调用自己。 lambda 的要点在于它们是匿名的。

关于python - 使用 lambda 函数对数字求和和计算数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43302412/

相关文章:

python - 如何智能合并Django数据库?

c++ - 间接递归,依赖静态变量

lambda - 为什么这个闭包需要内联或 `dyn` ? `dyn` 在这里做什么?

c# - 下面的普通 lambda 和异步 lambda 有什么区别吗?

python - 将列表内容写入单个 csv 列

python - 如何将特定元素的数量放入矩阵的特定行和列约束中?

Java - 我可以使用递归或任何其他方法简化此代码吗?

java - 表达式 user-> { some code } 怎么可能是一个 Observer 对象呢?

c++ - Python 将输入重定向到子进程

recursion - 求解形式 p[n,m]==p[n,m-2]+p[n-1,m-1]+p[n-2,m]