递归函数,每第二个数字打印一次,最小值从n到0。我想念什么?

def nr(n):
    if n == 0:
        return 0
    else:
        if n >= 1:
            return nr(n-2)

a = int(input('Enter a number: '))
print(nr(a))
评论
  • 大三元
    大三元 回复
    打印第二个数字

    There's only one print statement. You should print inside the recursive function to print multiple times:

    def nr(n):
        if n == 0:
            return
        else:
            if n >= 1:
                print(n)
                nr(n - 2)
    
    a = int(input("Enter a number: "))
    nr(a)
    
  • 鸡蛋
    鸡蛋 回复

    如果n == 1,则n-2 == -1,这会跳过您的基本情况。使基本情况n <= 0