Calcul moyenne pondérée

Résolu/Fermé
Max1m3 - 20 janv. 2021 à 18:00
jee pee Messages postés 39323 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 février 2024 - 21 janv. 2021 à 12:37
Bonjour,
J'ai codé un petit programme qui calcule une moyenne pondérée, mais il y a un bug et quand je le lance, j'ai beau entrer que je n'ai plus de notes à mettre, il continue la boucle "while".
J'ai aussi essayé en faisant "while rep!=1" mais ça ne marche pas...
Quelqu'un pourrait m'aider ?
Voici le programme :

n=0
c=0
snc=0
sn=0
sc=0
mo=0
rep=0


while "rep==0" :
n=input("Donnez votre note (Faites attention à la mettre sur 20 avant)")
"sn=sn+n"

c=input("Donnez le coef de la note que vous venez de mettre")
"sc=sc+c"

"snc=snc+n*c"

rep=input("As-tu une autre note à entrer ? (0 pour oui et 1 pour non)")
print(n)
print(sc)

if "rep=1" :
mo=snc/sc
input("Ta moyenne est :", mo)
if "mo>16" :
input("Bravo ! Tu as les félicitations !!!")
if "mo<16" :
if "mo>14" :
input("Bravo tu as le tableau d'honneur !!!")
if "mo<14" :
input("Bravo !!! Tu as les encouragements !!! Tout dépendra du conseil de classe.")





Configuration: Windows / Chrome 87.0.4280.141

4 réponses

Whismeril Messages postés 18944 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 février 2024 921
21 janv. 2021 à 08:41
Bonjour

Hier je me demandais si tous ces guillemets étaient là pour signifier l’indentation ou autre.

Max1m3, il faut que tu comprennes la différence essentielle entre du texte et de la donnée.
Si, sur une feuille de papier est écrits 3 pommes, il n’y a pas réellement 3 pommes sur la feuilles, juste un texte qui en fait mention. C’est toi qui analyse en fonction du contexte, ce que représente ce texte:
  • il reste 3 pommes dans le panier => c’est dans le panier que je vais pouvoir compter des pommes
  • il est haut comme 3 pommes => c’est une taille en fait
  • j’habite rue des 3 pommes => c’est un lieu


Le programme ne sait pas contextualiser, il lui faut donc des données.
Un if ou un while, prend un booléen comme donnée.
Ce booléen peut être directement une valeur (true ou false) ou le résultat d’une opération (une condition par exemple)

Si tu lui donnes autre chose, soit ça plante, soit ça fait ce que ça veut

Un petit exemple
https://www.onlinegdb.com/43Zh4XwDS

Tu as le code dans la console du haut.
Après avoir cliqué, sur Run, tu auras le résultat dans la console du bas
1