Python 递归函数

Python recursion function

我正在尝试取一个数字,对其进行底除法,直到它变为 0。这必须使用递归和基本情况来完成。 例如:

>>>Base(5,2)
2 ##(5//2)
1 ##(2//2)
0 ##(1//2)

这是我目前拥有的:

def Base(number,base):
    result=1
    if result==0:
        return False
    else:
        result=number//base
        return Base(result,base)

我想这就是您要找的

def Base(number,base):

        if number==0:
            return False
        else:
            number = number//base
            print(number)
            return Base(number,base)

首先应该删除 using result = 1 ,因为在每次递归调用期间结果将被重新初始化为 1 并且以下 if 语句将永远不起作用。 你需要做的是继续递归地划分数字直到它达到 0 并打印 False

希望能解开你的疑惑