Open essepuntato opened 2 years ago
def exponentation(base_number, exponent): if exponent == 0: return 1 else: return base_number * exponentation(base_number, exponent - 1)
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
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)
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))
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))
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))
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
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
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))
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))
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))
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))
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
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
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))
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
Hi all, just a couple of notes:
result: True True True
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)
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.