comp-think / 2021-2022

The GitHub repository containing all the material related to the Computational Thinking and Programming course of the Digital Humanities and Digital Knowledge degree at the University of Bologna (a.a. 2021/2022).
17 stars 9 forks source link

Lecture "Recursion", exercise 1 #26

Open essepuntato opened 2 years ago

essepuntato commented 2 years ago

Define a recursive function def exponentiation(base_number, exponent) for implementing the exponentiation operation. Test (by implementing the related test case) it on the following inputs: 34, 171, and 20.

11051620 commented 2 years ago

def exponentation(base_number, exponent): if exponent == 0: return 1 else: return base_number * exponentation(base_number, exponent - 1)

martasoricetti commented 2 years ago

image

ManueleVeggi commented 2 years ago
def test_exponentiation(base_number, exponent,expected):
    result = exponentiation(base_number, exponent)
    if result == expected:
        return True
    else:
        return False

def exponentiation(base_number, exponent):
    if exponent == 0:
        return 1
    else:
        return base_number*exponentiation(base_number, exponent-1)

print(test_exponentiation(3, 4, 81))
print(test_exponentiation(17, 1, 17))
print(test_exponentiation(2, 0, 1))

The output is:

True
True
True
Postitisnt commented 2 years ago

def exponentiation(base_number, exponent):
    if exponent == 0:
        return 1
    else:
        return base_number * exponentiation (base_number, exponent -1)

def test_exp (base_number, exponent, expected):
    if expected == exponentiation (base_number, exponent):
        return True
    else:
        return False

test_1 = test_exp(3, 4, 81)
test_2 = test_exp(17, 1, 17)
test_3 = test_exp(2, 0, 1)
print(test_1)
print(test_2)
print(test_3)
giorgimariachiara commented 2 years ago
def test_exponentiation(base_number, exponent, expected):
    result = exponentiation(base_number, exponent)
    if result == expected:
        return True
    else:
        return False

def exponentiation(base_number, exponent):
    if exponent == 0:
        return 1
    else:

        return base_number * exponentiation(base_number, exponent - 1)

print(test_exponentiation(3, 4, 81))
print(test_exponentiation(17, 1, 17))
print(test_exponentiation(2, 0, 1))
tommasobattisti commented 2 years ago
def test_exp(base_number, exponent, expected):
    result = exponentiation(base_number, exponent)
    if result == expected:
        return True
    else:
        return False

def exponentiation(base_number, exponent):
    if exponent == 0:
        return 1
    else:
        return base_number * exponentiation(base_number, exponent -1)

print(test_exp(3, 4, 81))
print(test_exp(17, 1, 17))
print(test_exp(2, 0, 1))
federicabonifazi commented 2 years ago
def my_test(base_number, exponent, expected):
    result = exponentiation(base_number, exponent)
    if expected == result:
        return True
    else:
        return False

def exponentiation(base_number, exponent):
    if exponent == 0:
        return 1
    else:
        return base_number * exponentiation(base_number, exponent-1)

print (my_test(3, 4, 81))
print (my_test(17, 1, 17))
print (my_test(2, 0, 1))
CarmenSantaniello commented 2 years ago
def test_exponentiation(base_number, exponent, expected):
    result = exponentiation(base_number, exponent)
    if expected == result:
        return True
    else:
        return False

def exponentiation(base_number, exponent):
    if exponent == 0:
        return 1
    else:
        return base_number*exponentiation(base_number, exponent-1)

print(test_exponentiation(3, 4, 81))
print(test_exponentiation(17, 1, 17))
print(test_exponentiation(2, 0, 1))
print(exponentiation(3, 4))
print(exponentiation(17, 1))
print(exponentiation(2, 0))

It returns:

True
True
True
81
17
1
OrsolaMBorrini commented 2 years ago
def test_exponentation(base_number,exponent,expected):
    result = exponentation(base_number,exponent)
    if result == expected:
        return True
    else:
        return False

def exponentation(base_number,exponent):
    if exponent == 0:
        return 1
    else:
        return base_number*exponentation(base_number,exponent-1)

print(test_exponentation(3,4,81)) #It returns True
print(test_exponentation(17,1,17)) #It returns True
print(test_exponentation(2,0,1)) #It returns True
AmeliaLamargese commented 2 years ago
def test_exponentiation(base, exponent, expected):
    result = exponentiation(base, exponent)
    if result == expected:
        return True
    else:
        return False

def exponentiation(base, exponent):
    if exponent==0:
        return 1
    else:
        return base*exponentiation(base, exponent -1)

print(test_exponentiation(3, 4, 81))                   
print(test_exponentiation(17, 1, 17))
print(test_exponentiation(2, 0, 1))
elizastuglik commented 2 years ago
def test_exponentiation(base_number, exponent, expected):
    result = exponentiation(base_number, exponent)
    if result == expected:
        return True
    else:
        return False

def exponentiation(base_number, exponent):
    if exponent == 0:
        return 1
    else:

        return base_number * exponentiation(base_number, exponent - 1)

print(test_exponentiation(3, 4, 81))
print(test_exponentiation(17, 1, 17))
print(test_exponentiation(2, 0, 1))
SaraVell1 commented 2 years ago

image

RebeccaJillianBeattie commented 2 years ago

recursive exponentiation function

ghasempouri1984 commented 2 years ago

This function can return a proper result for negative integer exponents and also proper error message return, for non-integer exponents and also a special case of zero power zero and zero power negative exponent. This function rounds the result of a negative integer exponent with 4 digits.

# Test case for the function
def test_exponentation(base_number, exponent, expected):
    result = exponentation(base_number, exponent)
    if expected == result:
        return True
    else:
        return False

# Code of function
def exponentation(base_number, exponent):
    if base_number == 0:
        if exponent <= 0:
            return "undefined"
        else:
            return 0
    elif type(exponent) != int:
        return "this function can not calculate non-integer exponent"

    elif exponent == 0:
        return 1

    elif exponent < 0:

        return round(1/(base_number * exponentation(base_number, abs(exponent) - 1)), 4)

    else:
        return base_number * exponentation(base_number, exponent - 1)

# Tests
print(test_exponentation(0, 0, "indeterminate form"))
print(test_exponentation(0, -5, "indeterminate form"))
print(test_exponentation(2, 2.1, "this function can not calculate non-integer exponent"))
print(test_exponentation(0, 1.5, 0))
print(test_exponentation(2, 0, 1))
print(test_exponentation(0, 10, 0))
print(test_exponentation(3, 4, 81))
print(test_exponentation(17, 1, 17))
print(test_exponentation(-4, 0, 1))
print(test_exponentation(-2, -3, -0.125))
print(test_exponentation(-3.11, -2, 0.1034))
olgagolgan commented 2 years ago

image image

MaddaGh commented 2 years ago

ex recursion_exponent

Bianca-LM commented 2 years ago
def test_exponentiation(base_number, exponent, expected): 
    result = exponentiation(base_number, exponent)
    if expected == result: 
        return True
    else: 
        return False

def exponentiation(base_number, exponent): 
    if exponent == 0: 
        return 1
    elif exponent == 1:
        return base_number
    else: 
        return base_number * exponentiation(base_number, exponent-1)

print(test_exponentiation(3,4,81))
print(test_exponentiation(17,1,17))
print(test_exponentiation(2,0,1))
NoraPs commented 2 years ago

Cattura

katya-avem commented 2 years ago

image

AnastasiyaSopyryaeva commented 2 years ago

input

#Defining test function

def test_exponentiation(base_number, exponent, expected):
    result = exponentiation(base_number, exponent)
    if expected == result:
        return True
    else:
        return False

#Function code
def exponentiation(base_number, exponent):
    if exponent == 0:
        return 1
    else:
        return base_number * exponentiation(base_number, exponent - 1)

#print
print(test_exponentiation(3, 4, 81))
print(test_exponentiation(17, 1, 17))
print(test_exponentiation(2, 0, 1))

output True True True

francescabudel commented 2 years ago
def exponentation(base_number, exponent):
    if exponent== 0:
        return 1
    else: 
      return base_number*exponentation(base_number, exponent - 1)

print(exponentation(171, 6)) 
print(exponentation(34, 12))
print(exponentation(20, 3))

25002110044521
2386420683693101056
8000
angstigone commented 2 years ago
Schermata 2021-11-21 alle 18 08 12 Schermata 2021-11-21 alle 18 13 56
chloeppd commented 2 years ago
def test_exponentation(number1, number2, expected):
    result= exponentation(number1,number2)
    if expected == result:
        return True
    else:
        return False

def exponentation(number1, number2):
    if number2==0:
        return 1

    else:
        return number1*exponentation(number1, number2-1)

print(test_exponentation(3,4,81))
print(test_exponentation(17,1,17))
print(test_exponentation(2,0,1))
sanyuezoe commented 2 years ago
def test_exponentiation(base_number, exponent, expected):
    result = exponentiation(base_number, exponent)
    if expected == result:
        return True
    else:
        return False

def exponentiation(base_number, exponent):
    if exponent == 0:
        return 1
    else:
        return base_number*base_number**(exponent-1)

print(test_exponentiation(3, 4, 81))
print(test_exponentiation(17, 1, 17))
print(test_exponentiation(2, 0, 1))

Output

True
True
True
essepuntato commented 2 years ago

Hi all, just a couple of notes:

teragramgius commented 2 years ago

Exercise1 Exercise1_

ahsanv101 commented 2 years ago

image

result: True True True

ManuSrivastava1 commented 2 years ago
def test_exponentiation(base,power):
    x = base**power
    y = exponentiation(base,power)
    if x ==y: 
        return True
    else:
        return False

def exponentiation(base,power):
    if power==0:
        return 1
    else:
        result=base*exponentiation(base,power-1)
    return result

y = test_exponentiation(3,4)
print(y)
y = test_exponentiation(17,1)
print(y)
y = test_exponentiation(2,0)
print(y)