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
.