comp-think / 2022-2023

The GitHub repository containing all the material related to the Computational Thinking and Programming course of the Digital Humanities and Digital Knowledge degree at the University of Bologna (a.a. 2022/2023).
17 stars 5 forks source link

Lecture "Recursion", exercise 2 #25

Open essepuntato opened 1 year ago

essepuntato commented 1 year ago

Define a recursive function def fib(n) that implements the algorithm to find the nthe Fibonacci number. In particular, if n is less than or equal to 0, then 0 is returned as a result. Otherwise, if n is equal to 1, then 1 is returned. Otherwise, return the sum of the same function called with n-1 and n-2 as input. Please accompany the function with the related test case.

delete4ever commented 1 year ago
# Test case for the algorithm
def test_fib(int_1, expected):
    result = fib(int_1)
    if result == expected:
        return True
    else:
        return False
# Code for the algorithm
def fib(n):
    if n <= 0:
        return 0
    if n ==1:
        return 1
    else:
        return fib(n-1)+fib(n-2)
# Three test runs
print(test_fib(2, 1))
print(test_fib(16, 987))
print(test_fib(24, 46368))
# Console results
True
True
True
giorgiacrosilla commented 1 year ago
def test_fib(n, expected):
    result = fib(n)
    if expected == result:
        return True 
    else:
        return False 

def fib(n):
    if n <= 0:
        return 0
    if n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)

print(test_fib(1,1))
print(test_fib(2,1))
print(test_fib(6, 8))
print(test_fib(0,0))
lucia1299 commented 1 year ago

def test_my_fib(n, expected):
    result = fib(n)
    if result == expected:
        return True
    else: 
        return False

def fib(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else: 
        return fib(n-1) + fib(n-2)

print(test_my_fib(19, 4181))
print(test_my_fib(22, 17711))
print(test_my_fib(4, 3))

#Console output
True
True
True
ranacoskun commented 1 year ago
def test_fibonacci(n,expected):
  if fibonacci(n) == expected:
    return True
  else:
    return False

def fibonacci(n):
  if n <= 0:
    result = 0
  elif n == 1:
    result = 1
  else:
    result = fibonacci(n-1) + fibonacci(n-2)
  return result    

print(test_fibonacci(0,0)) #True
print(test_fibonacci(1,1)) #True
print(test_fibonacci(4,3)) #True
print(test_fibonacci(7,13)) #True
mary-lev commented 1 year ago
def fib(n):
    # n can't be less than 0
    if n == 0 or n == 1:
        return n
    return fib(n - 1) + fib(n - 2)

def test_fib(n, expected):
    if fib(n) == expected:
        return True
    return False

print(test_fib(0, 0))
print(test_fib(1, 1))
print(test_fib(2, 1))
print(test_fib(4, 3))
print(test_fib(12, 144))
print(test_fib(19, 4181))
ChiaraParravicini commented 1 year ago
def test_fib(n, expected):
    result = fib(n)
    if expected == result:
        return True
    else: 
        return False

def fib(n):
    if n <= 0:
        return 0
    if n == 1:
        return 1
    else:
        return fib(n-1)+fib(n-2)

print(test_fib(0, 0))
print(test_fib(1, 1))
print(test_fib(-1, 0))
print(test_fib(2, 1))
print(test_fib(12, 144))
corrado877 commented 1 year ago
# Define Test Algorithm
def test_fib(n, expected):
    result= fib(n)
    if result==expected:
        return True
    else:
        return False

# Code of Fibonacci Seuquence Algorithm
def fib(n):
    if n<=0:
        return 0
    elif n==1:
        return 1
    else:
        return fib(n-1) + fib (n-2)

# Five Test runs
print (test_fib(6, 8))
print (test_fib(11, 89))
print (test_fib( 0, 0))
print (test_fib( 1, 1))
print (test_fib(-5, 0 ))
lvcasmariani commented 1 year ago
def test_fib(n, expected):
    result = fib(n)
    if result == expected:
        return True
    else:
        return False

def fib(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)

print(test_fib(1, 1))
print(test_fib(2, 1))
print(test_fib(4, 3))
print(test_fib(11, 89))
EricaAndreose commented 1 year ago
def test_fib(n, expected):
    result = fib(n)
    if expected == result:
        return True
    else:
        return False

def fib(n):
    if n <= 0:
        return 0
    if n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)

# Test runs that returns True
print(test_fib(0, 0))
print(test_fib(1, 1))
print(test_fib(2, 1))
print(test_fib(3, 2))
print(test_fib(7, 13))
NicoleLiggeri commented 1 year ago
def test_fib(n, expected):
    result = fib(n)
    if result == expected:
        return True
    else:
        return False

def fib(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib(n-1)+fib(n-2)

print(test_fib(3, 2))
print(test_fib(0, 0))
print(test_fib(9, 34))
n1kg0r commented 1 year ago
def test_fib(n, expected):
    return expected == fib(n)

def fib(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else: 
        return fib(n-1) + fib(n-2)

print(test_fib(7, 13)) # True
print(test_fib(13, 233)) # True
print(test_fib(0, 0)) # True
irematmar commented 1 year ago
def test_fib(n, expected):
    result=fib(n)
    if result==expected:
        return True
    else:
        return False

def fib(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)

print(test_fib(10, 55))
print(test_fib(1, 1))
print(test_fib(0, 0))
print(test_fib(4, 3))

True
True
True
True
matteo-guenci commented 1 year ago
def test_fib(n, expected):
    result = fib(n)
    if result == expected:
        return True
    else:
        return False

def fib(n):
    if n <= 0:
        return 0
    if n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)  

print(test_fib(5, 5))
print(test_fib(7, 13))
print(test_fib(8, 21))
print(test_fib(9, 34))
eugeniavd commented 1 year ago

image

alka2696 commented 1 year ago
# Test case for the algorithm
def test_fib(int_1, expected):
    result = fib(int_1)
    if result == expected:
        return True
    else:
        return False
# Code for the algorithm
def fib(n):
    if n <= 0:
        return 0
    if n ==1:
        return 1
    else:
        return fib(n-1)+fib(n-2)
# Three test runs
print(test_fib(2, 1)) #True
print(test_fib(1, 1)) #True
print(test_fib(4, 3)) #True
SalvatoreDiMarzo commented 1 year ago
def test_fib(n,expected):
  if fib(n) == expected:
    return True
  else:
    return False

def fib(n):
  if n <= 0:
    result = 0
  elif n == 1:
    result = 1
  else:
    result = fib(n-1) + fib(n-2)
  return result    

print(test_fib(5, 5))
print(test_fib(2, 1))
print(test_fib(7, 13))