Browse Source

Fibonacci-Berechnung korrigiert.

develop
Olli Graf 1 year ago
parent
commit
63fee8c895
  1. 4
      teil13/fib.py
  2. 2
      teil13/fibserver.py
  3. BIN
      teil16/Fib-Testdaten.xlsx
  4. 2
      teil16/fib.py
  5. 2
      teil16/testfib.py
  6. 8
      teil16/unittestfib.py
  7. 2
      teil18/fib_gen.py

4
teil13/fib.py

@ -5,7 +5,9 @@ import sys
def fib(n): def fib(n):
# Rekursionsbedingung # Rekursionsbedingung
if n in [0,1]: if n == 0:
return 0
elif n == 1:
return 1 return 1
else: else:
# Rekursionsaufruf # Rekursionsaufruf

2
teil13/fibserver.py

@ -21,7 +21,7 @@ def fib(n):
# Rekursionsbedingung # Rekursionsbedingung
if n in [0,1]: if n in [0,1]:
return 1 return n
else: else:
# Rekursionsaufruf # Rekursionsaufruf
return fib(n-1) + fib(n-2) return fib(n-1) + fib(n-2)

BIN
teil16/Fib-Testdaten.xlsx

Binary file not shown.

2
teil16/fib.py

@ -6,7 +6,7 @@ def fib(n):
# Rekursionsbedingung # Rekursionsbedingung
if n in [0,1]: if n in [0,1]:
return 1 return n
else: else:
# Rekursionsaufruf # Rekursionsaufruf
return fib(n-1) + fib(n-2) return fib(n-1) + fib(n-2)

2
teil16/testfib.py

@ -10,7 +10,7 @@ result5 = fib(5)
result8 = fib(8) result8 = fib(8)
if result5 == 8 and result8 == 34: if result5 == 5 and result8 == 21:
logging.info('Tests erfolgreich') logging.info('Tests erfolgreich')
else: else:
logging.error('Tests fehlerhaft') logging.error('Tests fehlerhaft')

8
teil16/unittestfib.py

@ -20,17 +20,17 @@ class TestFib(unittest.TestCase):
# Die setUp() Methode wird zu Beginn jedes Testcases aufgrufen # Die setUp() Methode wird zu Beginn jedes Testcases aufgrufen
def setUp(self): def setUp(self):
logging.debug('setting up test') logging.debug('setting up test')
self.results = [1,1,2,3,5,8,13,21,34,55] self.results = [0,1,1,2,3,5,8,13,21,34,55]
#die beiden Tests aus ./testfib.py mit unittest #die beiden Tests aus ./testfib.py mit unittest
def test_fib(self): def test_fib(self):
# assertEqual(n,r) testet, ob das Resultat r der Vorgabe n entspricht. # assertEqual(n,r) testet, ob das Resultat r der Vorgabe n entspricht.
self.assertEqual(8,fib(5)) self.assertEqual(5,fib(5))
self.assertEqual(34,fib(8)) self.assertEqual(21,fib(8))
def test_mult_fib(self): def test_mult_fib(self):
results =[1,1,2,3,5,8,13,21,34,55] results =[0,1,1,2,3,5,8,13,21,34,55]
for n in range(0,9): for n in range(0,9):
self.assertEqual(results[n],fib(n)) self.assertEqual(results[n],fib(n))

2
teil18/fib_gen.py

@ -11,5 +11,5 @@ def fib_generator():
fibo = fib_generator() fibo = fib_generator()
for _ in range(int(sys.argv[1])): for _ in range(int(sys.argv[1])+1):
print(next(fibo)) print(next(fibo))

Loading…
Cancel
Save