任意数累乘问题:利用递归思想的解法报错的原因

请根据编程模板补充代码,计算任意个输入数字的乘积。
例:
input 1,2,3,4
output 24

#我的做法
def cmul(number):
    N=str(number)
    n=eval('number'.count(','))+1
    if n==1:
        return eval(number)
    else:
        numbe=number[:-1]
        return eval(number[-1])*cmul(numbe)

print(eval("cmul({})".format(input())))

报错:

Exited with error status 1
Traceback (most recent call last):
  File "4cf3a6986548e47a126d2f401a154062", line 12, in <module>
    print(eval("cmul({})".format(str(input()))))
  File "<string>", line 1, in <module>
TypeError: cmul() takes 1 positional argument but 4 were given

提问:是不是我对于输入的数据类型理解有误呀?

2个回答

exec("arr=({})".format(input()))
sum = 1
for i in arr:
    sum *= i
print(sum)

你怎么输入的呢,cmul是一个参数,你1 2 3 4一股脑输入进去肯定不行

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐