Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Python

Posté par
Eva83
03-03-20 à 11:23

Bonjour, j'aurais vraiment besoin d'aide pour cette exercice svp.

Pour un examen, les candidats doivent répondre à un QCM. Il y a 50 questions et à chaque question, le candidat doit choisir entre 4 réponses dont une seule est la bonne. Chaque question rapporte 1 point en cas de bonne répondre et 0 sinon.

Les rédacteurs du sujet d'examen souhaitent introduire un score éliminatoire de sorte qu'un candidat qui répondrait au hasard ait une chance sur 10 seulement de dépasser ce score. Pour répondre à cette question, on souhaite simuler l'expérience aléatoire consistant à répondre au hasard au QCM.

1. Écrire une fonction Python Question permettant de simuler une réponse au hasard à l'une des questions du QCM.  Cette fonction retourne 1 en cas de bonne réponse et 0 sinon.

2. Écrire une fonction Python QCM permettant de simuler un choix de réponse au hasard aux différentes questions du QCM. Une réponse au hasard à l'une des questions du QCM. Cette fonction retourne le score obtenu au QCM.

Merci pour votre aide.

Posté par
mathafou Moderateur
re : Python 03-03-20 à 12:03

Bonjour,

1) la fonction Question() renvoie simplement un nombre au hasard qui est 0 ou 1

2) la fonction QCM() renvoie la somme des valeurs retournées par dix appels à la fonction Question()

Posté par
Eva83
re : Python 03-03-20 à 12:04

Oui mais il faut que j'écrive la fonction Python.

Posté par
mathafou Moderateur
re : Python 03-03-20 à 12:17

bein vas y, lance toi ....

cherche dans la doc quelle(s) fonction(s) renvoie(nt) un truc au hasard et sous quelle forme ( au hasard se dit en Anglais "random") et utilise là dans ta fonction Question()

et pour la 2) il faudra faire une boucle exécutée dix fois
par exemple avec un "for" , à toi de voir comment s'écrit un "for" dans la doc.

Posté par
Eva83
re : Python 03-03-20 à 12:19

Je comprend pas du tout ce que vous dites j'ai jamais fais ça auparavant.

Posté par
Eva83
re : Python 03-03-20 à 12:29

Je commence par

random.choice ([« 1 »;  « 2 »; « 3 »; « 4 »])
??

Posté par
mathafou Moderateur
re : Python 03-03-20 à 12:31

si tu n'as jamais ni vu ni écrit aucune ligne en Python tu es mal barré !!
ce n'est pas le lieu pour faire un cours complet de Python à partir de zéro

cherche des tutoriels, avec des exemples, lis de la doc de base sur Python, en particulier sur la syntaxe du Python etc.

et vas y

réellement, en retapant des exemples, voire même des essais pour ton exo, tant qu'à faire, dans un interpréteur Python
ensuite on en reparlera.

on ne te fera pas ton exo à ta place
surtout pour écrire une fonction Question() contenant exactement une ligne en tout

Posté par
Eva83
re : Python 03-03-20 à 12:34

Je demandais juste de l'aide et un peu d'explication dans un respect. Visiblement avec votre vocabulaire familier vous n'avez rien à faire sur ce site si c'est pour parler ainsi aux élèves. Vous répétez seulement ce qui est écrit dans la consigne alors relisez mieux la prochaine fois.

Posté par
mathafou Moderateur
re : Python 03-03-20 à 12:43


messages croisés

comme on ignore complètement laquelle des 4 réponses est la bonne le résultat aura 1 chance sur 4 d'être 1 et trois chances sur 4 d'être 0 et c'est tout

le mieux est de tirer un nombre réel (float) au hasard entre 0 et 1 et
si c'est < 0.25 ce sera "réponse bonne" c'est à dire qu'on renvoie 1
et sinon on renvoie 0

on peut aussi choisir au hasard entre 4 possibilités qui sont 1, 0, 0, 0
(les valeurs 1, 0, 0 et 0, pas des textes)
car les probabilités sont ici très simples (de la forme 1/n)

Posté par
Eva83
re : Python 03-03-20 à 12:52

random.float (« 0 »;  « 1 »)
if random (« 0 »; « 1 ») <= 0.25 :
print (« réponse bonne » )
elese
print (« réponse mauvaise »)

Posté par
mathafou Moderateur
re : Python 03-03-20 à 12:54

et pour l'incompréhension totale dans le dialogue :

tu as juste écrit
" j'ai jamais fais ça auparavant"
qui ne peut s'interpréter que "je n'ai jamais fait de Python auparavant "

seule et unique réponse visible au moment où j'ai rédigé la mienne
c'est fréquent dans les forums, c'est asynchrone. on dit que les messages se sont croisés

Posté par
mathafou Moderateur
re : Python 03-03-20 à 13:11

tu lis mal les définitions des fonctions de Python dans la doc
random.float ça n'existe pas. (de plus tu n'en fais rien du tout !)

de même random (« 0 »; « 1 ») ça n'existe pas
c'est random() tout court

de plus dans les bases des bases de Python en général
« 0 » ça n'existe pas

et "0" ça veut dire le texte formé du caractère 0, et pas la valeur numérique 0

de toute façon on ne te demande pas de faire un affichage du texte "réponse bonne" ou pas bonne
mais de renvoyer (return) le résultat qui est le nombre 0 ou le nombre 1

enfin dans les bases des bases de Python, il y a la notion fondamentale d'indentation

et il y a la notion de fonction on ne te demande pas un programme, mais une fonction

def Question() :
    le corps de ta fonction indenté, avec les calculs qu'il faut
    ...
    return ... (la valeur qu'il faut)

Posté par
flight
re : Python 03-03-20 à 13:12

salut

j'ai réalisé cet exo sur excel :  ( pas si simple quand même car le but est de fixer le score pour que le cumul des points ne dépasse pas le score fixé dans plus de  90% des cas )
bien évidement je demande au posteur de ne pas pomper bêtement ce qui va suivre :
car de toute façon d'une c'est pas le langage appri en cours et je mise sur 95% de chance qu'il ne décrypte pas mes lignes , je partage cela avec Mathafou et voir si il est d?accord avec mes résultats :

*** sans rapport avec les questions posées ***

  'obtiens un score éliminatoire  tendant plutôt vers 17

qu'en penses tu ?

j'ai voulu blanquer mais pas trouvé l'outil dans la barre des symboles

Posté par
mathafou Moderateur
re : Python 03-03-20 à 13:14

flight
ça n'existe pas blanquer dans le forum d'entraide

de plus réponse sans rapport avec ce qu'on demande
j'efface tout.

Posté par
Eva83
re : Python 03-03-20 à 13:16

Expliquez vous mieux et je comprendrais peut être mieux aussi.
J'ai trouver une autre personne qui me renseigne mieux ce n'est plus la peine de me répondre.

Posté par
Eva83
re : Python 03-03-20 à 13:20

Flight

Ce que tu dis ne sert à rien.

Posté par
mathafou Moderateur
re : Python 03-03-20 à 13:22

tu veux dire une autre personne qui écris ton code au lieu de te dire de lire correctement la doc de Python ?

bon bein alors discussion close, bonne chance et bye.

Posté par
Eva83
re : Python 03-03-20 à 13:25

Absolument pas.
Une personne qui sait expliquer comment Python fonctionne sans utiliser des propos grossiers

Posté par
mathafou Moderateur
re : Python 03-03-20 à 13:41

Posté par
flight
re : Python 03-03-20 à 14:30

dommage , je sais bien que ca répondait pas directement aux questions posées , je l'ai bien ecrit pourtant ! c'était un message qui t'était destiné sans que cela entrave les premières indications que tu a donné au posteur mais puisque tu le prend mal , ....vas y !uses de ton pouvoir de modération ...

Posté par
flight
re : Python 03-03-20 à 14:35

de toute facon quand on regarde les reactions de la pupart sur le forum , on observe quoi des reactions " limite agressives avec les gens qui postent "  et les réponses c'est vas y  "demene toi "  ..."ben alors c'est evident !!"... il y a meme pas la "convialité " qui permettrait au moins au posteur de se sentir plus à l'aise avec sa demande ,c'est limite sil il vient pas se faire taper dessus avec son propre exercice  ....c'est mon avis ..apres je dis spontanément ma pensée sans detour , tu pourra effacer si ca te choque ,  il y a toi , carpediem qui etes comme ca ... surement d'autres , Sylvieg est beaucoup plus patiente et diplomate que vous

Posté par
flight
re : Python 03-03-20 à 14:37

meme Eva83 est dégouté(e) d'avoir demandé de l'aide ... vois ca réponse et vois tes reactions  à coup de points d'exclamations

Posté par
mathafou Moderateur
re : Python 03-03-20 à 15:04

si j'avais pu blanquer je l'aurais fait, car cela (le programme Excel) "rallonge la sauce" inutilement
malheureusement ce n'est pas possible et la seule façon de raccourcir le message "en aparté" était de supprimer la partie inutile (que uniquement le programme Excel, tu remarqueras que j'ai gardé tout le reste) car ne correspondait pas à la demande des questions en cours de traitement (juste une question du QCM , et juste un seul QCM de 10 questions et rien d'autre pour l'instant)


j'ai soigneusement compté mes points d'exclamation dans cette discussion et j'en ai trouvé en tout et pour tout :

si tu n'as jamais ni vu ni écrit aucune ligne en Python tu es mal barré !!
en réponse à "j'ai jamais fais ça auparavant" et à rien d'autre, déja dit que les messages s'étaient croisés

(de plus tu n'en fais rien du tout !)
(d'une fonction appelée et dont le résultat n'est pas utilisé)

alors un peu de mauvaise foi sur l'exagération dans les "!" ça aide ...

quant à l'aide technique apportée , bien entendu signaler qu'une fonction qui n'existe pas n'existe pas et que explicitement à la place c'est "random()" ,
ni de fournir explicitement la structure de la fonction Question() demandée
etc
tout ça ce n'est pas de l'aide constructive
bien entendu ...

Posté par
malou Webmaster
re : Python 03-03-20 à 16:50

Eva83, le et même les multicomptes sont strictement interdits sur notre site

donc je te demande fermer les comptes Eva 83, Mathildeloca1, Chloesouley , jadis1er et tu garderas le 1er compte ouvert Evapremiere1

(modérateur)



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 1675 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 !