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 :