簡體   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