Ok, si vous atterrissez sur cette page, c’est que vous restez bloqué sur un exercice du style :

« Créez un programme qui demande une série de nombre à l’utilisateur et qui lui en retourne la moyenne ».

Un classique, mais qui permet de comprendre les boucles, les tableaux (list ou encore array selon les langages) et autres.  Prêt ? Alors, créons ce programme ensemble. J’utiliserai le langage Python mais la solution est facilement transposable à un autre langage.

Création de la boucle principale

Nous allons segmenter le problème. Premièrement, il nous faut un moyen de répéter notre demande à l’utilisateur. Pour cela, nous allons créer une boucle qui se terminera si l’utilisateur entre « x ».

while(True):
  entree_utilisateur = input("Veuillez entrer un nombre ou x pour quitter")
  
  if(entree_utilisateur == 'x'):
      break
  else:
      #code

Stockage des nombres

Il nous faut maintenant un moyen de stocker les nombres. C’est pourquoi nous allons déclarer un tableau avant la boucle et que nous ajouterons dedans toutes les entrées qui ne sont pas « x ». Notez la conversion en Integer au passage. 

nombres = list()
# équivalent à nombres = []

while(True):
    # récupération du nombre ou de x entré par l'utilisateur
    entree_utilisateur = input("Entrez un nombre ou x pour quitter")

    # si c'est "x", on termine la boucle
    if entree_utilisateur == "x":
        break
    # sinon on l'ajoute dans le tableau
    else:
        nombres.append(int(entree_utilisateur))

Calcul de la somme

Il nous faut à présent parcourir tous les nombres du tableau afin de les additionner dans une nouvelle variable qui contiendra leur somme.

somme = 0
for n in nombres:
    somme += n

Calcul de la moyenne

Enfin, on crée une nouvelle variable pour mettre la moyenne. 

reponse = somme / len(nombres)

Affichage de la moyenne

Et enfin, il ne reste plus qu’à afficher la moyenne précédemment calculée.

print("La moyenne des nombres est de : ", reponse)

Code final

nombres = list()
# équivalent à nombres = []

while(True):
    # récupération du nombre ou de x entré par l'utilisateur
    entree_utilisateur = input("Entrez un nombre ou x pour quitter")

    # si c'est "x", on termine la boucle
    if entree_utilisateur == "x":
        break
    # sinon on l'ajoute dans le tableau
    else:
        nombres.append(int(entree_utilisateur))


# il ne reste plus qu'à parcourir le tableau et d'additionner 
# tous les nombres dans une nouvelle variable

somme = 0
for n in nombres:
    somme += n

# et on divise par le nombre d'éléments entrés dans le tableau
# pour en avoir la moyenne

reponse = somme / len(nombres)

# on affiche enfin la moyenne à l'écran
print("La moyenne des nombres est de : ", reponse)

30 octobre 2018

Laisser un commentaire