我用for循环做了。
def base2dec(nums, base):
adding = []
power = -1
for num in nums[::-1]:
power+=1
adding.append(num*pow(base, power))
return sum(adding)
但是教程练习要求我使用递归来完成它。我不太明白。函数base2dec(nums,base)
获取给定nums
中的整数列表(base
)并返回相应的基数10。你们能告诉我如何通过递归来做到这一点吗?我真的不知道怎么做。
答案 0 :(得分:1)
这里的关键点是将列表拆分为一个元素和其余元素,并以递归方式传递其余元素:
def base2dec(nums, base):
if len(nums) == 1:
return nums[0]
else:
return nums[-1] + base * base2dec(nums[:-1], base)