Skip to content

Instantly share code, notes, and snippets.

@ayubmetah
Last active December 31, 2022 03:45
Show Gist options
  • Save ayubmetah/73a70790581564cd0fd2de7a2e6afb79 to your computer and use it in GitHub Desktop.
Save ayubmetah/73a70790581564cd0fd2de7a2e6afb79 to your computer and use it in GitHub Desktop.
Implement the sum_positive_numbers function, as a recursive function that returns the sum of all positive numbers between the number n received and 1. For example, when n is 3 it should return 1+2+3=6, and when n is 5 it should return 1+2+3+4+5=15.
#using recursion
def sum_positive_numbers(n):
if n <= 1:
return n
return n + sum_positive_numbers(n-1)
print(sum_positive_numbers(3)) # Should be 6
print(sum_positive_numbers(5)) # Should be 15
#using normal functions
def sum_positive_numbers(n):
sums = 0
for v in range(1,n+1):
sums += v
return sums
print(sum_positive_numbers(3)) # Should be 6
print(sum_positive_numbers(5)) # Should be 15
@ethanalapatt
Copy link

lol you could also write
def sum_positive_numbers(n):
# The base case is n being smaller than 1
if n < 1:
return 0

# The recursive case is adding this number to 
# the sum of the numbers smaller than this one.
return n + sum_positive_numbers(n - 1)

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

@oishik112
Copy link

It should written like this .
def sum_positive_numbers(n):
if n <= 1:
return n
return n + sum_positive_numbers (n - 1)
print (sum_positive_numbers(3))
print (sum_positive_numbers(5))

@amngithub
Copy link

amngithub commented Oct 10, 2021

def sum_positive_numbers(n):
  sum = 0
  for i in range(n):
    sum = (i+1) + sum
    
  return sum

@CosmicIntruder
Copy link

def sum_positive_numbers(n):
sums = 0
for i in range(1,n+1):
sums += i
return sums

print(sum_positive_numbers(3))
print(sum_positive_numbers(5))

@Moyosore3674
Copy link

def sum_positive_numbers(n):
if n < 1:
return 0
return n + (sum_positive_numbers(n-1))

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

@veekoza
Copy link

veekoza commented Jul 29, 2022

def sum_positive_numbers(n):
if n < 1:
return n

return n + sum_positive_numbers(n-1)

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

@soumalya20010
Copy link

def sum_positive_numbers(n):

if n<1:
return n==1
else:
return n+sum_positive_numbers(n-1)

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

@saidawangui
Copy link

use this

def sum_positive_numbers(n):
if n < 1:
return 0
else:
return n + sum_positive_numbers(n - 1)

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

@itsvaleriatafoya
Copy link

def sum_positive_numbers(n):
if n <= 1:
return 1
return n + sum_positive_numbers(n-1)

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment