Pour écrire une fonction en Python qui prend en argument une liste L et renvoie le nombre de classes [ak,bk[ d'amplitude 10, où ak et bk sont des multiples de 10, vous pouvez faire comme suit :
def nombre_classes(L):
if not L:
return 0
# Trouver les bornes min et max
min_val = min(L)
max_val = max(L)
# Arrondir min_val au multiple de 10 précédent ou égal
ak = (min_val // 10) * 10
# Arrondir max_val au multiple de 10 suivant
bk = ((max_val // 10) + 1) * 10
# Calculer le nombre de classes
return (bk - ak) // 10
# Exemple d'utilisation :
L = [4, 15, 23, 37, 42, 58, 63, 79]
print(nombre_classes(L)) # Cela devrait afficher 8 car les classes vont de [0,10[ à [70,80[
Initialisation des bornes :
min_val et max_val représentent les valeurs minimum et maximum de la liste L.ak est calculé comme le plus grand multiple de 10 inférieur ou égal à min_val.bk est calculé comme le plus petit multiple de 10 supérieur à max_val.Calcul du nombre de classes :
bk - ak donne la plage totale couvrant toutes les valeurs de L.Cette fonction considère également les cas où la liste pourrait être vide. Si c'est le cas, elle renvoie 0.
Testez ce code en ligne :