Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

calcul moyenne note avec PYTHON

Posté par
caroleti
23-01-21 à 17:38

bonjour,
Je bloque sur 2 questions avec python (à la fin):

La moyenne du 1er trimestre est calculée sur la base de quatre notes sur 20. On note m la moyenne que Ronista a obtenue à la fin du trimestre.
Exprimer, en fonction de m, la somme des points que Ronista a obtenus sur l'ensemble des 4 notes. => m= N1+N2+N3+N4 /4
Elle a obtenu 6; 10 puis 12 lors des trois premiers contrôles. Exprimer, en fonction de m, la note qu'elle a obtenue au dernier contrôle. => N4=4m-28

Compléter le programme ci-dessous qui calcule la note qu'elle doit obtenir au dernier contrôle après avoir entré la moyenne qu'elle souhaite obtenir.
mon idée:
def MoyenneVoulue(m):
   note = 4m - 28
  if note > 20:
    return("Impossible.")
  else:
    return("possible.")


mais là je bloque:
Créer une fonction sous Python qui utilise comme arguments les trois premières notes obtenues puis la moyenne souhaitée et qui renvoie la dernière note à obtenir.
peut être:
Note1= 6
Note2= 10
Note3= 12
def MoyenneVoulue(m):
  Print("entrez la valeur de m désirée",m)
  m= (Note1+Note2+Note3+Note4)/4
  Note4 =4m-28
  if note > 20:
    return("Impossible.")
  else:
    return("possible.")
Print("La Note4 à obtenir est: ", Note4)

Posté par
torio
re : calcul moyenne note avec PYTHON 23-01-21 à 18:07


La fonction :
def Note(n1,n2,n3,m):
    n4 = (4*m-n1-n2-n3)
    return n4


Appel à la fonction
print(Note(5,5,5,8))

Posté par
caroleti
re : calcul moyenne note avec PYTHON 23-01-21 à 19:58

pourquoi?
Appel à la fonction
print(Note(5,5,5,8))


ça veut dire quoi 5,5,5,8? et pourquoi il ne faut pas réutiliser l'exercice d'avant:
def MoyenneVoulue(m):
   note = 4m - 28
  if note > 20:
    return("Impossible.")
  else:
    return("possible.")


Je suuis vraiment novice avec python

Posté par
caroleti
re : calcul moyenne note avec PYTHON 23-01-21 à 21:09

vous êtes sûr que ce programme fonctionne?

Posté par
torio
re : calcul moyenne note avec PYTHON 23-01-21 à 21:59


def Note(n1,n2,n3,m):
    n4 = (4*m-n1-n2-n3)
    return n4



print(Note(5,5,5,8))



Comme ça, ça marche
5,5,5,8 est un exemple
n1= 5 n2=5 n3=5 m=8

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 23-01-21 à 22:08

caroleti @ 23-01-2021 à 21:09

vous êtes sûr que ce programme fonctionne?


Bonsoir,

Pour le savoir le mieux serait d'essayer de le faire "fonctionner". N'as tu pas python d'installé sur ton ordinateur (ou à la rigueur sur ta calculatrice) ?
Tu saisis ton script et tu exécutes (run). Instant sublime, si tu obtiens le résultat attendu...
Sinon tu cherches la faille .

Pour sûr même ton premier script n'est pas opérationnel. La principale erreur (il y en a d'autres ) c'est l'utilisation de l'instruction return, hors de propos. C'est un "classique" !
Si tu veux AFFICHER une message, un résultat, utilise l'instruction print().
Le return vient seulement au terme de ta fonction et détermine la valeur que doit te renvoyer la fonction... mais ne l'affiche pas, sauf si tu le demandes expressément.

Posté par
caroleti
re : calcul moyenne note avec PYTHON 24-01-21 à 09:21

Dans le le deux le programme est imposé avec retournement:
Compléter le programme ci-dessous qui calcule la note qu'elle doit obtenir au dernier contrôle après avoir entré la moyenne qu'elle souhaite obtenir.
mon idée:
def MoyenneVoulue(m):
   note = 4m - 28 [/rouge]
  if note [rouge]
> 20:
    return("Impossible.")
  else:
    return("possible.[rouge][/rouge]")

Posté par
caroleti
re : calcul moyenne note avec PYTHON 24-01-21 à 09:25

J'ai du mal avec python. On a eu que deux cours et je ne connais pas tout le vocabulaire. Je suis obligé  de chercher partout

Posté par
Tilk_11 Moderateur
re : calcul moyenne note avec PYTHON 24-01-21 à 10:21

Bonjour caroleti
ton profil indique "Niveau : autre DUT" alors pourquoi postes-tu en "Seconde"
Quel est ton niveau réel ? Indique le dans ton profil et quand tu postes, merci.

attentionextrait de c_faq la FAQ du forum :

Q12 - Dois-je forcément indiquer mon niveau lorsque je poste un nouveau sujet ?

Posté par
caroleti
re : calcul moyenne note avec PYTHON 24-01-21 à 10:38

Bonjour,
je suis niveau DUT mais mon fils est en seconde et ce sert de mon compte et je ne peut l'aider sur certain exercice...

Posté par
cercus
re : calcul moyenne note avec PYTHON 24-01-21 à 10:39

En général, avant de programmer, on écrit sur un papier un algorithme en langage naturelle (ou au moins les méthodes/instructions que l'on va utiliser). Pour l'exemple d'ici, un exemple d'algorithme en langage naturelle serait (ce n'est pas la seule manière !) :

FONCTION moyenne_voulue(m)
DEBUT_FONCTION
        note <-- 4m-28
        SI note > 20 ALORS
               AFFICHER "Impossible"
        ELSE
               AFFICHER "Possible"
               AFFICHER note
               FIN_SI
FIN_FONCTION

Reste plus qu'a le traduire en langage python (en faisant aux conventions, comme par exemple pas de majuscule dans les noms de fonction, mais on peut séparer  chaque mot par un underscore ( _ )  )

Posté par
caroleti
re : calcul moyenne note avec PYTHON 24-01-21 à 11:03

oui mais on nous impose le texte et on doit compléter, alors le texte n'est pas bon? on doit compléter au niveau des points.

def MoyenneVoulue(m):
   note = .......
  if............ > 20:
    return("Impossible.")
  else:
    return("...........
j'ai écris ce qu'il me semble être bon dans mes posts précédent
et je bloque aussi:

Créer une fonction sous Python qui utilise comme arguments les trois premières notes obtenues puis la moyenne souhaitée et qui renvoie la dernière note à obtenir.

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 24-01-21 à 14:43

Bon, si on faisait le point calmement.

Premier script :
Il n'était pas évident qu'un texte à trous était fourni par l'énoncé.
Donc tu as complété et somme toute la fonction obtenue...  fonctionnait.
Seule remarque, la fonction retournait un message disant si oui ou non il était possible d'obtenir la moyenne "visée" mais également la note minimale à obtenir...

def MoyenneVoulue(m):
   note = 4m - 28
   if note > 20:
      return("Impossible.")
  else:
    return("possible.", note)

A suivre

Posté par
caroleti
re : calcul moyenne note avec PYTHON 24-01-21 à 15:08

Et pour, je n'ai aucune idée :
Créer une fonction sous Python qui utilise comme arguments les trois premières notes obtenues puis la moyenne souhaitée et qui renvoie la dernière note à obtenir.

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 24-01-21 à 15:17

suite

Question 2
Pas de script à trous, cette fois.....
Tu as pris le parti de conserver l'approche faite à la question précédente (possible, pas possible) ; je pense que cela est judicieux.
Dans le premier script, seule la moyenne m visée était adaptable. Les 3 premières notes étaient bloquées d'où la formule :
note= 4*m - 28, 28 étant la somme de ces 3 premières notes.

Dans le script demandé à la 2ème question, on souhaite pouvoir modifier les 3 premières notes. Ces 3 notes deviennent, 3 arguments supplémentaires dans ta nouvelle fonction.
Bien entendu  la formule calculant la 4ème note à obtenir  est modifiée et devient :
Note4 =4*m-(Note1+Note2+Note 3)
2 remarques : le "28" n'est plus valable ; par ailleurs quand tu écris le produit 4m, il FAUT mettre le signe de la multiplication entre 4 et m soit 4*m.
Corrige le script en conséquence...

Je pense qu'il est souhaitable de changer le nom de la fonction ; pourquoi pas note().
Cette fonction a besoin de 4 arguments : Note 1, Note2, Note3 et m.
Tu as donc
def note( Note 1, Note2, Note3,m):
Ensuite on calcule la Note4
         Note4 =4*m-(Note1+Note2+Note 3)
ensuite on teste le "possible" comme dans le premier script.

Essaye de refaire cela.
Dans la console, tu regardes ce qui se passe en prenant 3 notes et une moyenne visée ; par exemple

>>>print(note(8,11,14,10))

Qu'obtiens tu ?

Posté par
caroleti
re : calcul moyenne note avec PYTHON 24-01-21 à 16:44

Merci il faudra que j'essaye ce soir sur python
Mais il ne faut pas que je définisse ce qu'est m?
Et demander à l'utilisateur de la rentrer ainsi que les 3 première note?

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 24-01-21 à 19:38

Citation :
Mais il ne faut pas que je définisse ce qu'est m?
Et demander à l'utilisateur de la rentrer ainsi que les 3 première note?


Cette partie de script NE FAIT PAS partie de la fonction.
Mais bien sûr, il serait de bon ton , d'écrire un petit programme qui :
* demanderait les valeurs que l'on souhaite donner aux données Note1, Note2, Note3 et m
* appellerait la fonction et afficherait la réponse de cette fonction.

Mais dans ton énoncé, on ne demande que le script de la fonction.
Dis nous ce que renvoie la fonction que tu as écrite (teste la comme on t'a dit dans la console).
On verra après à faire un petit programme en complément c'est promis

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 25-01-21 à 15:28

Alors ?

Citation :
un petit programme en complément  c'est promis


Sous ta fonction qui fonctionne (?), tu laisses 2 lignes vides puis tu saisis le script suivant....

Cela devrait répondre à tes souhaits

calcul moyenne note avec PYTHON

Posté par
caroleti
re : calcul moyenne note avec PYTHON 25-01-21 à 16:18

du coup, pour le petit programme à trous:
j'ai:
def MoyenneVoulue(m):
   note = 4m-28
  if..note> 20:
    return("Impossible.")
  else:
    return("possible", note)

et l'autre si c'est que la fonction, cela fait:

def note( Note 1, Note2, Note3,m):
        Note4 =4*m-(Note1+Note2+Note 3)
         if note > 20:
           return("Impossible.")
         else:
         return("[rouge]possible", Note4
).[/rouge]

Merci

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 25-01-21 à 17:05

Le script de ta fonction note() ne fonctionne pas

J'ai copié le script de ton message (CTRL+C) puis je l'ai collé dans mon éditeur Python (CTRL+V) et mon écran est devenu (presque) tout rouge... de confusion ou de colère, je ne saurais te dire.

Si tu l'avais testé sur ton ordinateur, tu aurais su immédiatement qu'il y avait des incongruités dans ton script. Je ne comprends pas que l'on puisse écrire un programme et ... ne pas l'essayer. Pour moi, c'est le moment de la récompense quand j'obtiens ce que j'attends

A travers tes erreurs et les messages d'erreurs qu'elles provoquent, tu apprends à faire bien !

Exemple :
if note > 20:
Manifestement cette requête n'est pas correcte... ce n'est ni un problème de math ou de programmation en python mais une erreur d'attention ou un manque de bon sens.

Soit rigoureux dans tes notations : Note3 ce n'est pas la même variable que Note 3

A toi la main....

Posté par
caroleti
re : calcul moyenne note avec PYTHON 25-01-21 à 17:53

Oui pas de soucis, je comprends ce que vous dites mais on nous a imposé le texte à trou.
Cela veut dire que le texte à trou n'est pas bon...
L'erreur est dans l'énoncé du texte ... et je dois faire avec, non?

Nous n'avons pas de console pour tester

Posté par
caroleti
re : calcul moyenne note avec PYTHON 25-01-21 à 17:54

Oui, j'avais vu l'espacé dans note3 c'est dans ma recopie que je me suis trompé

Posté par
caroleti
re : calcul moyenne note avec PYTHON 25-01-21 à 18:30

Je ne sais plus comment faire, si je dois reprendre le texte imposé ou le modifier 🥲

Posté par
caroleti
re : calcul moyenne note avec PYTHON 25-01-21 à 18:33

Ça peut être soit note ou soit m>20

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 25-01-21 à 18:41

Difficile de se comprendre à distance !!

1) if note > 20:
Cette ligne est bonne dans la PREMIERE fonction.
Mais dans la 2ème appelée note(), elle n'a pas de sens....

2) c'est dans ma recopie
J'ai du mal à comprendre comment tu opères avec Python.
a) si tu as python installé sur ton ordinateur, tu as -me semble -t-il - nécessairement une "console" (shell) à coté de ton éditeur. Explique moi...
b) tu n'as pas à RECOPIER ! Tu fais simplement du copier/coller avec le texte de ton script !! Quand tu colles ce texte dans ton message sur l'île, essaye de la placer entre des balises de code que tu trouveras avec les autres outils sous la fenêtre où tu écris ; tu actives ces balises [code][/code] en cliquant sur l'outil </> . Pour voir l'effet produit passe en mode Apercu avant de POSTERr.

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 25-01-21 à 18:59

caroleti @ 25-01-2021 à 18:30

Je ne sais plus comment faire, si je dois reprendre le texte imposé ou le modifier 🥲

On se calme
Dans la première partie, tu ne changes pas le texte à trous... tu le complètes. ce que tu as fait est correct :
def MoyenneVoulue(m):
   note = 4m-28
  if note> 20:
    return("Impossible.")
  else:
    return("possible", note)


Dans la deuxième partie, où on te demande une fonction avec 4 arguments, sauf incompréhension de ma part, il n'y a pas des trous à boucher mais des modifications à faire pour satisfaire à la demande.

Tu as changé les noms des variables entre le premier script et la deuxième mouture.
N1 est devenu Note1 etc...
Cela n'est pas grave mais il faut bien sûr en tenir compte...
La quatrième note à obtenir pour avoir une moyenne égale à m est notée "note" dans la première fonction et devient Note4 dans la 2ème fonction (celle avec 4 arguments). Dans cette 2ème fonction la variable "note" n'existe plus puisque tu as décidé de l'appeler Note4...

Posté par
caroleti
re : calcul moyenne note avec PYTHON 25-01-21 à 19:01

Le problème c'est justement je n'ai pas Python sur ordinateur...le seul ordinateur que j'ai c'est ceux du travail de mes parents. j'écris juste la fonction
def note( Note 1, Note2, Note3,m):
        Note4 =4*m-(Note1+Note2+Note 3)
Pour répondre à la question

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 25-01-21 à 19:25

Citation :
def note( Note 1, Note2, Note3,m):
        Note4 =4*m-(Note1+Note2+Note 3)


Jusque là on est (presque) d'accord
Presque seulement, parce que dans l'écriture de Note1, il y a un espace parasite. Corrige.

Ensuite tu mets le test qui regarde si la valeur calculée pour Note4 est supérieure à 20 etc.

Python pratique
Si tu as accès à un ordinateur (celui de tes parents, pourquoi pas ), demande si tu peux y installer Python. Par exemple EDUPYTHON qui est facile à installer.

Il est possible aussi d'utiliser Python en ligne, cherche sur internet...

Posté par
caroleti
re : calcul moyenne note avec PYTHON 25-01-21 à 19:37

En fait pour plus de cohérence, je devrais marquer:
def note( n1, n2, n3,m):
        n4=4*m-(n1+n2+n3)
        If n4>20
        return (« impossible »)
        else
        return (« possible »,n4)

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 25-01-21 à 19:39

suite de mon précédent message

Ta présence sur ce site et nos nombreux échanges prouvent que tu as accès à Internet.
Tape dans ton moteur de recherche : jaicompris python. Le site qui t'est proposé te permet de te former en Python mais surtout te donne accès à Trinket, un python en ligne.

Il y a sûrement d'autres possibilités mais celle là, je connais : j'ai commencé à étudier Python avec ce Trinket là, avant d'installer EDUPYTHON sur mon ordinateur.

Il va falloir te battre avec tes parents pour disposer de leur ordi .
Bon courage

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 25-01-21 à 19:48

caroleti @ 25-01-2021 à 19:37

En fait pour plus de cohérence, je devrais marquer:
def note( n1, n2, n3,m):
        n4=4*m-(n1+n2+n3)
        If n4>20 manque les : d'où des pbs d'indentation /décalage
        return (« impossible ») les guillemets ne sont pas les bons "   "
        else manque les :
        return (« possible »,n4) idem guillemets

Posté par
caroleti
re : calcul moyenne note avec PYTHON 25-01-21 à 19:51

Oui le problème c'est que je fais ça avec mon téléphone, donc il change les guillemets et on doit rendre au format papier écrit à la main..

Posté par
caroleti
re : calcul moyenne note avec PYTHON 25-01-21 à 19:54

Merci beaucoup de m'avoir aider

Posté par
ZEDMAT
re : calcul moyenne note avec PYTHON 25-01-21 à 22:45



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1488 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !