Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Recursion
#8
(Nov-21-2019, 11:03 AM)sumana Wrote:
def power(base,exp):
    if(exp == 1):
        return(base)
    if(exp != 1):
        return(base*power(base,exp-1))
base = int(input("Enter base: "))
exp = int(input("Enter exponential value: "))
print("Result:",power(base, exp))
Above code has several problems:
- What if you enter a negative exponent?
- Exponent can be 0, result would be 1
So valid version of power() looks like:

def power(base, exponent):
    """ Return base to the power exponent. Works only for positive exponents"""
    if exponent == 0:
        return 1
    elif exponent > 0:
        return base * power(base, exponent - 1)
    else:
        raise ValueError("Exponent must be positve!")
Reply


Messages In This Thread
Recursion - by leodavinci1990 - Nov-20-2019, 01:29 AM
RE: Recursion - by ichabod801 - Nov-20-2019, 01:42 AM
RE: Recursion - by ThomasL - Nov-20-2019, 06:21 AM
RE: Recursion - by Malt - Nov-20-2019, 08:46 AM
RE: Recursion - by ChislaineWijdeven - Nov-20-2019, 10:25 AM
RE: Recursion - by sumana - Nov-21-2019, 11:03 AM
RE: Recursion - by ThomasL - Nov-27-2019, 01:24 PM
RE: Recursion - by leodavinci1990 - Nov-27-2019, 07:16 AM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020