繁体   English   中英

递归地将数字列表转换为数字

[英]Recursively Converting a List of Digits to a Number

我做了一个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)接受给定base的整数列表( nums ),并返回相应的以10为底的数字。 你们可以告诉我如何进行递归吗? 我真的不知道

这里的关键点是将列表分为一个元素和其余元素,然后递归传递其余元素:

def base2dec(nums, base):
    if len(nums) == 1:
        return nums[0]
    else:
        return nums[-1] + base * base2dec(nums[:-1], base)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM