任务:
给出一个整数。编写一个返回数字数字乘积的函数。
例子:
multiply(1) => 1
multiply(123) => 6
multiply(1024) => 0
multiply(1111) => 1
我的决定:
def multiply(n):
c = 1
for i in str(n):
c *= int(i)
return c
我想知道其他解决方案。即:
- 一行(无法弄清楚如何做到这一点)
- 有趣(使用 dunder 方法)
- 使困惑
我能想到的一切=):
对工作速度有一个总体了解的时间测试(
n in range(10**6)
):在“令人困惑的俏皮话”类别中
而且,由于还没有人写过这件事
math.prod()
,我会写:没有
str
'a,因此更快:结论:
输入、求值和输出在一个表达式中,无需导入和副作用的技巧: