Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions fib.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
Negative numbers should return None
"""
def fibonacci(position):
#this supports negative numbers
if position < 0:
return None
if position == 0:
return 0
if(position == 1 or position == 2):
return 1
return fibonacci(position - 1) + fibonacci(position - 2)
Expand All @@ -21,6 +26,30 @@ def fibonacci(position):
assert(fibonacci(-1) == None)
print("The -1st Fibonacci number: ", fibonacci(-1)) # should return None

assert(fibonacci(1) == 1)
print("The 1st Fibonacci number: ", fibonacci(1)) # should return 1

assert(fibonacci(2) == 1)
print("The 2nd Fibonacci number: ", fibonacci(2)) # should return 1

assert(fibonacci(3) == 2)
print("The 3rd Fibonacci number: ", fibonacci(3)) # should return 2

assert(fibonacci(4) == 3)
print("The 4th Fibonacci number: ", fibonacci(4)) # should return 3

assert(fibonacci(5) == 5)
print("The 5th Fibonacci number: ", fibonacci(5)) # should return 5

assert(fibonacci(6) == 8)
print("The 6th Fibonacci number: ", fibonacci(6)) # should return 8

assert(fibonacci(7) == 13)
print("The 7th Fibonacci number: ", fibonacci(7)) # should return 13

assert(fibonacci(8) == 21)
print("The 8th Fibonacci number: ", fibonacci(8)) # should return 21

print("Code ran successfully!")