Copier le code suivant dans un notebook et complétez-le en ajoutant le prototype et les commentaires.
def division_euclidienne(a, b):
    """ Ecrire la spécification de la fonction
    Arguments
    ---------
    Returns
    -------
    """
    # Ajouter des commentaires pour expliquer 
    if b <= 0 or a < 0 or type(a) != int or type(b) != int:
        return -1
    if a == 0:
        return (0, 0)
    
    # mes commentaires ici sur une ligne
    r = a
    q = 0
    while (r >= 0):
        r = r - b
        q = q + 1
    return (q-1, r+b)
# Tests
def test_division_euclidienne():
    # Ajouter des commentaires pour expliquer
    # quelles sont les vérifications effectuées
    assert division_euclidienne(10, 2) == (5, 0)
    assert division_euclidienne(2, 10) == (0, 2)
    assert division_euclidienne(37, 3) == (12, 1)
    # Verifications d'erreurs
    assert division_euclidienne(-10, 7) == -1
    assert division_euclidienne(10, -7) == -1
    assert division_euclidienne(10.3, 4) == -1
    assert division_euclidienne(11, 3.5) == -1
    assert division_euclidienne(3, 0) == -1
    # ...
    assert division_euclidienne(0, 3) == (0, 0)
    assert division_euclidienne(0, 0) == -1
    
# Lancement du test
test_division_euclidienne()
        Créer et prototyper une fonction appartient() qui indique si un
              élément est présent dans une
              liste, et qui passe le jeu de tests suivants:
def test_appartient():
   assert appartient(2, [5, 4, 1, 2, 3]) == True
   assert appartient(6, [5, 4, 1, 2, 3]) == False
            Compléter le jeu de tests avec des cas limites: liste vide, types de données différents…
Reprenez les algorithmes classiques du chapitre 1 de la partie 8: et les implémenter sous forme de fonctions prototypées et testées:
Attention: il conviendra d’écrire l’algorithme de parcours du tableau et de ne pas utiliser les
            méthodes prédéfinies dans python max, min…
Rechercher dans la documentation du module random comment créer un dé
              numérique qui renvoie de
              façon équiprobable les valeurs entières de 1 à 6. Tester la fonction pour vérifier son
              fonctionnement.
Rechercher dans la documentation du module math comment calculer le
              logarithme en base 2 d’un
              nombre. Tester la fonction pour vérifier son fonctionnement: p.ex $\log_2(16) = 4$; $\log_2(256)
              = 8$. Expliquer ce que calcule cette fonction.
Rechercher dans la documentation de la librairie pandas plusieurs
              méthodes permettant d’itérer
              sur les valeurs d’une Dataframe.