|
|
- """
- Analytical Skills
- Opgave: recursie
-
- (c) 2019 Hogeschool Utrecht
- Tijmen Muller (tijmen.muller@hu.nl)
-
-
- Let op! Je mag voor deze opgave geen extra modules importeren met 'import'.
- """
-
-
- def faculteit(n):
- # Base case
- if n == 0:
- return 1
- # Recursie
- else:
- return faculteit(0)
-
-
- def exponent(n):
- # Base case
-
- # Recursie
- return n
-
-
- def som(lst):
- return 1
-
-
- def palindroom(woord):
- return False
-
-
- """==============================================[ HU TESTRAAMWERK ]====================================================
- Onderstaand staan de tests voor je code -- hieronder mag je niets wijzigen!
- Je kunt je code testen door deze file te runnen of met behulp van pytest.
- """
- import math, random
-
-
- def test_faculteit():
- for x in range(6):
- assert faculteit(x) == math.factorial(x), \
- f"Fout: faculteit({x}) geeft {faculteit(x)} in plaats van {math.factorial(x)}"
-
-
- def test_exponent():
- for x in range(10):
- assert exponent(x) == 2**x, \
- "Fout: exponent({x}) geeft {exponent(x)} in plaats van {2**x}"
-
-
- def test_som():
- for i in range(6):
- lst_test = random.sample(range(-10, 11), i)
- assert som(lst_test) == sum(lst_test), \
- f"Fout: som({lst_test}) geeft {som(lst_test)} in plaats van {sum(lst_test)}"
-
-
- def test_palindroom():
- testcases = [
- ("", True),
- ("radar", True),
- ("maandnaam", True),
- ("pollepel", False),
- ("Maandnaam", False)
- ]
-
- for testcase, res in testcases:
- assert palindroom(testcase) is res, f"Fout: palindroom({testcase}) geeft {palindroom(testcase)} in plaats van {res}"
-
-
- if __name__ == '__main__':
- try:
- print("\x1b[0;32m")
-
- test_faculteit()
- print("Je functie faculteit() doorstaat de tests!")
-
- test_exponent()
- print("Je functie exponent() doorstaat de tests!")
-
- test_som()
- print("Je functie som() doorstaat de tests!")
-
- test_palindroom()
- print("Je functie palindroom() doorstaat de tests!")
-
- print("\x1b[0;30m")
-
- x = input("Geef een woord: ")
- print("'" + x + "' is " + ("" if palindroom(x) else "g") + "een palindroom!")
-
- except AssertionError as ae:
- print("\x1b[0;31m")
- print(str(ae))
|