Skip to content

Instantly share code, notes, and snippets.

@giacomocavalieri
Created March 29, 2025 07:15
Show Gist options
  • Save giacomocavalieri/1d8fbb9091f3ba8aa58e9aca9a0692f4 to your computer and use it in GitHub Desktop.
Save giacomocavalieri/1d8fbb9091f3ba8aa58e9aca9a0692f4 to your computer and use it in GitHub Desktop.
  1. Scrivere dei test per una funzione ordinata_crescente che prende in input una lista di valori e restituisce True se questa è in ordine crescente, False altrimenti.
  2. Implementare la funzione ordinata_crescente.
  3. Scrivere una funzione fibonacci che prende in input un numero n e restituisce l'n-esimo numero della sequenza di Fibonacci. (I primi due numeri della sequenza di Fibonacci sono 1 e 1, tutti i numeri successivi vengono calcolati facendo la somma dei due numeri precedenti).
  4. Scrivere dei test per questa funzione. Pensare, cosa potrebbe restituisce la funzione se viene passato in input un numero negativo?
  5. Scrivere una funzione conta che prende in input una lista e un valore qualsiasi e restituisce il numero di volte che questo elemento appare nella lista. Alcuni test d'esempio:
    assert conta([1, 2, 3], 1) == 1
    assert conta([True, True, False, True], True) == 3
    assert conta(["a", 1, [], 2], "a") == 1
    assert conta([], "a") == 0
    assert conta(["b", "c", "d"], "a") == 0
  6. Scrivere una funzione rimuovi_maggiori che prende in input una lista di numeri e un numero e restituisce una nuova lista dalla quale sono stati rimossi tutti i numeri maggiori del secondo argomento.
  7. Scrivere dei test per questa funzione.
  8. In seguito alle prove libere di MotoGP si memorizza una lista contenente tutti i tempi totalizzati dai piloti: [2.12, 2.15, 2.16, 3, 2.21, None, 2.19, None]. Un None rappresenta il fatto che il pilota non ha concluso la corsa. Ci si chiede in che posizione si sarebbe classificato un atleta che abbia ottenuto un tempo di 2.13. Scrivere una funzione posizione_in_classifica che prende in input una lista di tempi e un tempo e stabilisce in che posizione si sarebbe classificato un atleta se avesse ottenuto quel tempo. Alcuni test d'esempio:
    tempi = [2.12, 2.15, 2.16, 3, 2.21, None, 2.19, None]
    assert posizione_in_classifica(tempi, 2.13) == 2 # con un tempo di 2.13 sarei arrivato secondo
    assert posizione_in_classifica(tempi, 2.5) == 6 # con un tempo di 2.5 sarei arrivato sesto
    assert posizione_in_classifica(tempi, 2) == 1 # con un tempo di 2 sarei arrivato primo
  9. Scrivere altri test per la funzione posizione_in_classifica, pensare a come si possono gestire casi particolari o se sono già gestiti correttamente. Per esempio cosa succederebbe se la lista di tempi fosse vuota? Quale sarebbe la mia posizione indipendentemente dal tempo?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment