当函数要返回true时,不返回任何内容

2024-04-25 23:51:24 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我写了两个函数,isdiv,它返回x是否可以被y整除而没有任何余数,check_是可以被y整除的,它接受两个数,如果第一个数可以被所有小于或等于第二个数的正整数整除,它应该返回true。但由于某种原因,check\u is\u divisible在应该返回true时不会返回任何结果。它在应该的时候返回false,并且似乎没有陷入任何无限循环中,所以我不确定哪里出错了。你知道吗

def isdiv(x,y):
    if x%y == 0:
        return True
    else:
        return False


def check_if_divisible(value,largest_divisor):


    if isdiv(value,largest_divisor):

        if (largest_divisor == 1):
            return True

        check_if_divisible(value,(largest_divisor-1))

    else:
        return False

Tags: 函数falsetruereturnifvaluedefcheck
1条回答
网友
1楼 · 发布于 2024-04-25 23:51:24

进行递归调用时,需要转发结果。否则,递归返回值将被丢弃,并且默认情况下返回None。你知道吗

def check_if_divisible(value,largest_divisor):
    if isdiv(value,largest_divisor):
        if (largest_divisor == 1):
            return True
        return check_if_divisible(value,(largest_divisor-1))
    else:
        return False

相关问题 更多 >