Les boucles FOR et WHILE

Bonjour les ami(e)s est ce qu'il y a quelqu'un qui pourrait m'aider à solutionner ces 2 exercices :

1 - Écrivez un programme Python, en utilisant la boucle for, pour calculer la somme et la
moyenne de N nombres entiers (N à saisir par l'utilisateur).


2 - Refaire l’exercice précèdent en utilisant la boucle while. Aide : Entrez 0 pour terminer

Merci de votre aimable de votre réponse.

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut !

    Bah présente nous un bout du boulot... As-tu commencé quelque chose ? Es-tu totalement perdu ?
    Essaye d'écrire les algorithmes en langage naturel, et traduis les en Python après.
    1. Je suis totalement perdu, je n'arrive pas à traduire l'algorithme sur Python.
      1. Dans ce cas, expose nous ton algorithme en langage naturel, et on va t'aider !
    2. Je n'y arrive pas non plus. C'est compliqué.

      Merci !
      1. Bon... Bon...
        ----
        Écrivez un programme Python, en utilisant la boucle for, pour calculer la somme et la
        moyenne de N nombres entiers (N à saisir par l'utilisateur).
        ----

        On sait qu'on doit avoir une boucle for, donc quelque part un "pour ... allant de ... à ..."

        Le plan serait de commencer par demander N à l'utilisateur ?

        En langage courant, que penses-tu de cela ?

        Demander à l'utilisateur un nombre qu'on nomme N
        La somme vaut pour le moment 0
        Pour i allant de 1 à N :
        On ajoute N à la somme
        On affiche la valeur de la somme
        # On doit ensuite calculer la moyenne... Comment faire ? (en langage courant)
    3. Encore une fois merci!

      Pour calculer la moyennes des nombres saisit par l'utilisateur:
      Somme/N
      On affiche la moyenne finale

      Je pense que c'est ça.
      1. Sauf erreur de ma part, c'est bien ça... Reste à faire ça en python, je te donne les fonctions à utiliser :
        x = input("Entrer un nombre") --> Met la saisie de l'utilisateur dans la variable x
        for i in range(a,b) --> Créer une boucle qui va de a (inclu) à b (exclu)
        Et enfin, pour afficher quelque chose, tu dois utiliser la fonction print("mon message"').
    4. Rebonjour,
      je suis débutant, je comprend pas très bien, je me perds rapidement.
      Les nombres a et b, est-ce à moi de les choisir, ou est-ce que j'écris tout simplement (a, b) ?

      La valeur de x où dois-je la placer sur le programme Python?

      Merci encore pour votre aide.
      1. C'était plus pour te donner l'utilisation de la fonction dans un cas général... Pour toi, ça sera de 0 à n
        Je t'ai donné le programme en langage courant, et toutes les fonctions à utiliser sauf l'addition et la division.. Je vois pas comment faire plus sans te donner la réponse
      2. @M3NSONG3n=int(input("Entrez un nombre de notes: "))
        somme=0
        for i in range(0,n+1):
        somme=somme+n
        print(somme)
        print('La moyennes des', n,'notes est: ',somme/n)
    5. Presque ! Alors je t'ai dit une bêtise d'ailleurs.. C'est de 0 à n... Excuse moi, je viens de corriger mes messages.
      Cependant, si j'ai bien compris, l'utilisateur doit choisir chaque note... le code ressemblerait plus à ça du coup :
      n = int(input("Entrez un nombre de notes: "))
      somme = 0
      for i in range(0, n):
          x = input("Note: ")
          somme = somme + int(x)
      print(somme)
      print('La moyenne des ', n, 'note(s) est: ', somme / n)
      


      J'ai juste oublié de te donner la fonction int() qui converti ce que tu lui donnes en nombre. Car input() renvoie un texte et non un nombre.

      Maintenant à toi de voir comment le faire avec la boucle while...
      Note, la boucle while s'utilise comme-ceci :

      while condition:
          [...]


      Et cela va boucler le temps que ta condition est respectée.

      1. Merci beaucoup!!

        Mais j'ai une question, à quoi sert le n+1 dans "for i in range"? Pourquoi ne pas directement le remplacer par un nombre?
        1. Je viens de corriger j'avais encore mis n+1 au lieu de n...

          On met n parce que le nombre de fois où la boucle va tourner est différente selon n. Là on a n note à rentrer. On veut donc que la boucle s'exécute n fois. Donc on va de 0 à n : {0, 1, 2, ..., n-1}. (La borne supérieur est exclue dans les range()).
      2. Je viens de comprendre.
        Je vais essayer de le faire avec while.

        Merci beaucoup.
        1. Si jamais, je garde le sujet dans mes discussions suivies, je repasserai dans l'après midi !