Fibonacci-Berechnung korrigiert.
This commit is contained in:
@@ -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
|
||||||
|
@@ -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)
|
||||||
|
Binary file not shown.
@@ -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)
|
||||||
|
@@ -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')
|
||||||
|
@@ -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))
|
||||||
|
@@ -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))
|
||||||
|
Reference in New Issue
Block a user