Bonjour,créer une fonction python qui déterminé les quartiles d'une série statistiques

Sagot :

Réponse :

Explications :

Programme Python ( avec liste)

from math import*

def quartile():

   print("Cet algorithme calcule les quartiles des nombres que vous allez entrer")

   print("Lorsque la serie sera terminée, entrer le mot <fin> au clavier")

   #on définit la variable liste

   liste = []

   n = "0"

   #on entre les données

   #tant que le nombre entré est différent de "fin"

   #on transforme les données en nombre réel

   while n!="fin":

       n=input ("entrer une valeur ou le mot <fin>")

       if n!="fin":

           liste.append(float(n))

   #on détermine le nombre de données entrées

   print ("vous avez entré",len(liste),"valeurs")

   #calcule de la médiane

   #On ordonne la liste des données par ordre croissant

   liste.sort()

   #On teste si le nombre de données est pair ou impair

   if len(liste)%2 != 0 :

       z = int(len(liste)/2)

    #le nombre de données est impair, la médiane est le zieme terme car la liste commence à zéro

       m= round(liste[z],1)

       print ("la médiane est: " ,m)

   else:

       z = int(len(liste)/2)

   #le nombre de données est pair, la médiane est la 1/2 somme entre le z-1ieme terme et lezieme terme

       m = round((liste[z-1]+liste[z])/2,2)

       print ("la médiane est: " ,m)

   #calcul de Q1

    #On teste si le nombre de données est un multiple de 4

   if len(liste)%4 != 0 :

       z = int(len(liste)/4)

   #le 1er quartile est le zieme terme car la liste commence à zéro

       q1= round(liste[z],2)

       print ("Le 1er quartile est: ",q1)

   else:

       z = int(len(liste)/4)

   # le 1er quartile est le z-1 ieme terme

       q1 = round(liste[z-1],2)

       print ("le 1er quartile est: ",q1)

   #calcul de Q3

   #On teste si le nombre de données X 3 est un multiple de 4

   if 3*len(liste)%4 != 0 :

       z = int(3*len(liste)/4)

   #le 3eme quartile est le zieme terme car la liste commence à zéro

       q3= round(liste[z],2)

       print ("Le 3eme quartile est: ",q3)

   else:

       z = int(len(liste)*3/4)

   #le 3eme  quartile est le z-1 ieme terme

       q3 = round(liste[z-1],2)

       print ("le 3eme quartile est: ",q3)

Résultat

Cet algorithme calcule les quartiles des nombres que vous allez entrer

Lorsque la serie sera terminée, entrer le mot <fin> au clavier

entrer une valeur ou le mot <fin>10

entrer une valeur ou le mot <fin>15

entrer une valeur ou le mot <fin>8

entrer une valeur ou le mot <fin>12

entrer une valeur ou le mot <fin>16

entrer une valeur ou le mot <fin>14

entrer une valeur ou le mot <fin>18

entrer une valeur ou le mot <fin>fin

vous avez entré 7 valeurs

la médiane est:  14.0

Le 1er quartile est:  10.0

Le 3eme quartile est:  16.0

>>>

ou

>>> quartile()

Cet algorithme calcule les quartiles des nombres que vous allez entrer

Lorsque la serie sera terminée, entrer le mot <fin> au clavier

entrer une valeur ou le mot <fin>8

entrer une valeur ou le mot <fin>10

entrer une valeur ou le mot <fin>14

entrer une valeur ou le mot <fin>10

entrer une valeur ou le mot <fin>16

entrer une valeur ou le mot <fin>18

entrer une valeur ou le mot <fin>19

entrer une valeur ou le mot <fin>8

entrer une valeur ou le mot <fin>fin

vous avez entré 8 valeurs

la médiane est:  12.0

le 1er quartile est:  8.0

le 3eme quartile est:  16.0

>>>