递归-Python问题,返回值问题

递归-Python问题,返回值问题,python,recursion,Python,Recursion,**我在解决下面的问题时遇到了问题 实现sum_positive_numbers函数,作为一个递归函数,返回接收到的数字n和1之间所有正数的总和。例如,当n为3时,它应该返回1+2+3=6,当n为5时,它应该返回1+2+3+4+5=15** def sum_positive_numbers(n): return 0 print(sum_positive_numbers(3)) # Should be 6 print(sum_positive_numbers(5)) # Should b

**我在解决下面的问题时遇到了问题

实现sum_positive_numbers函数,作为一个递归函数,返回接收到的数字n和1之间所有正数的总和。例如,当n为3时,它应该返回1+2+3=6,当n为5时,它应该返回1+2+3+4+5=15**

def sum_positive_numbers(n):
    return 0

print(sum_positive_numbers(3)) # Should be 6
print(sum_positive_numbers(5)) # Should be 15

请记住始终添加一个破坏条件。本例中的零评估

def和正数(n):
如果n==0:
返回n
返回n+正整数和(n-1)
定义和正数(n):
#基本情况是n小于1
如果n<1:
返回n
返回n+正整数和(n-1)
#给我的是n-1。我一直在使用+直到我去下面的网站看到它
打印(和正数(3))应为6
打印(正数和(5))应为15
这是我用来可视化帮助我解决问题的代码的网站。它迫使我不仅要从谷歌搜索中得到答案,还要克服每一个错误,边走边学习:

请用您尝试过的代码更新您的问题。
def sum_positive_numbers(n):
    # The base case is n being smaller than 1
    if n < 1:
        return n


    return n + sum_positive_numbers(n - 1)
    # What got me was n - 1. I was using + until I went to the below website to see visualize it

print(sum_positive_numbers(3)) # Should be 6
print(sum_positive_numbers(5)) # Should be 15