Algorithme python
Résolu
max51351
-
max.tdf22445 -
max.tdf22445 -
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:
merci de m'aider d'avance
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
A voir également:
- Algorithme python
- Citizen code python avis - Accueil - Outils
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 pdf - Forum Algorithmes / Méthodes
- Mot secret python pix ✓ - Forum Python
- Programme python ✓ - Forum Python
5 réponses
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
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
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 :
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")
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)
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)
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question