Les boucles FOR et WHILE

FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. M3NSONG3 Messages postés 670 Statut Membre 162
     
    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.
    0
  2. FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   1
     
    Je suis totalement perdu, je n'arrive pas à traduire l'algorithme sur Python.
    0
    1. M3NSONG3 Messages postés 670 Statut Membre 162
       
      Dans ce cas, expose nous ton algorithme en langage naturel, et on va t'aider !
      0
  3. FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   1
     
    Je n'y arrive pas non plus. C'est compliqué.

    Merci !
    0
    1. M3NSONG3 Messages postés 670 Statut Membre 162
       
      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)
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   1
     
    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.
    0
    1. M3NSONG3 Messages postés 670 Statut Membre 162
       
      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"').
      0
  6. FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   1
     
    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.
    0
    1. M3NSONG3 Messages postés 670 Statut Membre 162
       
      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
      0
      1. FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   1 > M3NSONG3 Messages postés 670 Statut Membre
         
        n=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)
        0
  7. M3NSONG3 Messages postés 670 Statut Membre 162
     
    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.

    0
  8. FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   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?
    0
    1. M3NSONG3 Messages postés 670 Statut Membre 162
       
      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()).
      0
  9. FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   1
     
    Je viens de comprendre.
    Je vais essayer de le faire avec while.

    Merci beaucoup.
    0
    1. M3NSONG3 Messages postés 670 Statut Membre 162
       
      Si jamais, je garde le sujet dans mes discussions suivies, je repasserai dans l'après midi !
      0
  10. FOUAD_9000 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   1
     
    Merci beaucoup pour ton aide.
    0