python程序使用递归查找数字是偶数还是奇数

所以我想通过使用递归函数找到偶数,该函数重复从数字中减去2以找到它是否为偶数.

到目前为止,我所拥有的功能是

def isEven(number):
   if number!=0:
     return(n-2)
   while number =<2:
     if number==2:
        print("NUmber is even")
     else:
        print("number is odd")

是这个功能不起作用可以帮助我解决它

最佳答案 递归实现看起来像这样:

def isEven(number):
    if number < 2:
        return number % 2 == 0
    return isEven(number - 2)

输出:

>>> isEven(3)
False
>>> isEven(2)
True

您的函数不会调用自身,因此不使用递归. while循环将用于非递归函数,因为循环将重复从数字中减去2.

上面给出的函数检查数字是否小于2然后输出答案(数字%2 == 0表示:是除以2后的余数等于零?).如果数字大于2,我们递归调用isEven,数字越小(数字-2).这意味着我们将使用较小的数字重复调用isEven,直到数字小于2.

点赞