Les boucles FOR et WHILE

Fermé
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 - Modifié le 8 nov. 2020 à 13:43
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 - 8 nov. 2020 à 15:05
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.
A voir également:

10 réponses

yg_be Messages postés 22806 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 mai 2024 1 471
8 nov. 2020 à 13:10
1
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
8 nov. 2020 à 13:42
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
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 1
8 nov. 2020 à 13:50
Je suis totalement perdu, je n'arrive pas à traduire l'algorithme sur Python.
0
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
8 nov. 2020 à 13:59
Dans ce cas, expose nous ton algorithme en langage naturel, et on va t'aider !
0
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 1
Modifié le 8 nov. 2020 à 14:05
Je n'y arrive pas non plus. C'est compliqué.

Merci !
0
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
Modifié le 8 nov. 2020 à 14:54
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 1
8 nov. 2020 à 14:15
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
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
Modifié le 8 nov. 2020 à 14:18
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
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 1
8 nov. 2020 à 14:31
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
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
Modifié le 8 nov. 2020 à 14:55
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
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 1 > M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021
8 nov. 2020 à 14:38
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
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
Modifié le 8 nov. 2020 à 14:59
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
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 1
8 nov. 2020 à 14:51
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
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
8 nov. 2020 à 14:54
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
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 1
8 nov. 2020 à 14:57
Je viens de comprendre.
Je vais essayer de le faire avec while.

Merci beaucoup.
0
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
8 nov. 2020 à 14:58
Si jamais, je garde le sujet dans mes discussions suivies, je repasserai dans l'après midi !
0
FOUAD_9000 Messages postés 60 Date d'inscription samedi 4 janvier 2020 Statut Membre Dernière intervention 6 mai 2024 1
8 nov. 2020 à 15:05
Merci beaucoup pour ton aide.
0