Algorithme python [Résolu]

-
bonjour a tous je doit faire un algorithme sur python pour calculer la moyenne d'une classe à un contrôle mais je comprend pas pourquoi python me dit qu'il y a une erreur au niveau de la boucle for et je ne trouve pas non plus comment exprimer le calcul sur python pour pouvoir calculer la somme des notes de n élèves.
voici mon programme:

N= "le nombre d'élève dans la classe"
S = "sommes des notes des élèves notés"
Note = "note de chaque élève"
Moyenne ="note moyenne du devoir"


int(input ("le nombre d'élève dans la classe"))
for Note in range (1, N):
                         int(input ("note de chaque élève"))
                         S = N
                         N = N + 1
Moyenne = S/N
print("Moyenne de classe = Moyenne")
if Moyenne<10:
             print("Résultat insuffisant")
elif 10<=Moyenne<=14:
                     print("Résultat assez satisfaisant")
else:
     print("Résultat satisfaisant")


merci de m'aider d'avance
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
27243
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
14 novembre 2019
5662
1
Merci
Bonjour,

Voilà mes remarques :
ligne 1 : il faut affecter l'input à la variable N
ligne 2 : ta boucle elle permet de saisir la Note, mais elle ne prend pas une valeur de boucle qui s'appelle Note, tu pourrais donner une valeur de boucle i, mais comme tu ne l'utilises pas, tu peux te contenter d'un for loop. Range démarre à zéro et une boucle (1,2) ne s'exécute qu'une fois, il vaut mieux là n'ayant pas besoin de l'indice de boucle, faire un range(N)
ligne 3 : comme ligne 1, il faut affecter l'input à la variable Note
ligne 4 : il faut faire un cumul de Note dans S, pas une affectation. Et avant de démarrer la boucle il faudrait initialiser S à zéro.
ligne 5 : on ne gère pas l'indice de la boucle, c'est l'instruction for qui s'en charge
ligne 7 : pour imprimer la Moyenne, il faut mettre la variable en dehors du texte "..."
ligne 10 : tester <=14 est suffisant, le <10 a déjà été évacué par le test précédent

Cdlt

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 71337 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jee pee
Messages postés
4
Date d'inscription
samedi 19 octobre 2019
Statut
Membre
Dernière intervention
19 octobre 2019
0
Merci
merci beaucoup mais je suis débutant dans la programmation j'ai modifié les éléments qui me sembler bon de changer mais je ne suis sur de rien
voila le programme que j'obtiens qui ne fonctionne toujours pas :

N = "le nombre d'élève dans la classe"
S = "la somme des notes des élèves notés"
Note = "note de chaque élève"
Moyenne = "note moyenne du devoir"


int(input("le nombre d'élève dans la classe "(N)))
S = 0
for i in range (N):
                     int(input("la note de chaque élève"(N)))
                     S = S + Note
Moyenne = S/N
int(print("Moyenne de la classe="(Moyenne)))
if Moyenne<10:
              print ("Résultat insufisant")
elif Moyenne<=14:
                     print("Résultat assez satisfaisant"(Moyenne))
else:
     print("Résultat satisfaisant")
jee pee
Messages postés
27243
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
14 novembre 2019
5662 -
Cela avance.

Mais il faut que te revoies la syntaxe de l'input : https://www.geeksforgeeks.org/taking-input-in-python/

Et en 1 c'est la saisie de N mais en 4 c'est la saisie de Note

En 7, pourquoi faire d'une chaine un integer ??? la syntaxe c'est tout simplement print("chaine",variable), pareil en 11

(pense à utiliser la coloration syntaxique du code dans la saisie avec les icones au dessus du champ de saisie)
max51351
Messages postés
4
Date d'inscription
samedi 19 octobre 2019
Statut
Membre
Dernière intervention
19 octobre 2019
-
désolé mais la je ne comprend plus rien
jee pee
Messages postés
27243
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
14 novembre 2019
5662 > max51351
Messages postés
4
Date d'inscription
samedi 19 octobre 2019
Statut
Membre
Dernière intervention
19 octobre 2019
-
Regarde bien les exemples d'input,

la syntaxe c'est
variable=input("intitulé")
on affecte la réponse de l'utilisateur à une variable

donc dans ton cas :
N=int(input("le nombre d’élèves dans la classe"))
Commenter la réponse de max51351
Messages postés
4
Date d'inscription
samedi 19 octobre 2019
Statut
Membre
Dernière intervention
19 octobre 2019
0
Merci
N = int(input("le nombre d'élève dans la classe "))
S = 0
for i in range (N):
                     Note = int(input("la note de chaque élève"))
                     S = S + Note
Moyenne = S/N
Moyenne = (print("Moyenne de la classe="))
if Moyenne<10:
                            print ("Résultat insuffisant")
elif Moyenne<=14:
                                 print("Résultat assez satisfaisant"))
else:
         print("Résultat satisfaisant")

est ce que cela parait plus convenable
j'ai de gros doute
en tous cas merci pour le temps passé a essayer de résoudre mon problème
jee pee
Messages postés
27243
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
14 novembre 2019
5662 -
Soit ça fonctionne, soit pas ;-)

cela me semble bien, sauf ligne 7, la syntaxe c'est
print("chaine",variable), 
avec ton code tu écrases la variable Moyenne avant les tests
Commenter la réponse de max51351
Messages postés
4
Date d'inscription
samedi 19 octobre 2019
Statut
Membre
Dernière intervention
19 octobre 2019
0
Merci
je vous remercie beaucoup
le programme marche
cordialement
jee pee
Messages postés
27243
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
14 novembre 2019
5662 -
Bien ! j'espère que tu en auras appris un peu plus sur, l'affectation d'une variable, utiliser la bonne variable au bon endroit, input, print, for ... La logique de ton code était bonne, mais dans le détail l'utilisation des commandes péchait.
Commenter la réponse de max51351
0
Merci
oui et je vous en remercie
Commenter la réponse de max.tdf22445