Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/02/2019, à 11:23

piter42

aide compréhension script python

bonjour,
j 'essai de m'accrocher malgré les difficultées que je rencontre,mais seul parfois c est dur donc je m adresse à vous
voila de script de  gerard swinnen

def question(annonce,essais=4,please="oui ou non,svp!"):
    while essais>0:
        reponse=input(annonce)
        if reponse in("o","oui","O","Oui","OUI"):
            return 1
        if reponse in("n","non","N","Non","NON"):
            return 0
        print(please)
        essais=essais-1
        
        
rep=question("voulez vous vraiment terminer?")
rep=question("faut il effacer ce fichier?",3)
rep=question("avez vous compris?",2,"repondez par oui ou par non !")

mes questions sont :
à quoi sert à la fin rep= je l ai supprime et tout marche à l identique ? # j essai des trucs pour comprendre
ensuite à quoi sert return 1 et return 2,que  j écrive oui ou non on sort du programme ?
pour le reste c est ok, si autre que oui ou non,on a 4 essai,2eme 3 essais et 3eme 2essais ,ainsi que le changement de phrase 'please'à la 3eme
merci pour vos réponses

Hors ligne

#2 Le 07/02/2019, à 12:35

pingouinux

Re : aide compréhension script python

Bonjour,

à quoi sert à la fin rep= je l ai supprime et tout marche à l identique ? # j essai des trucs pour comprendre
ensuite à quoi sert return 1 et return 2,que  j écrive oui ou non on sort du programme ?

Après l'appel de la fonction, rep va contenir la valeur renvoyée (ici, 0 ou 1 suivant le return dans lequel tu passes). Un return sans valeur ou pas de return va renvoyer None.

Si tu ne testes pas la valeur de rep après l'appel, elle ne sert à rien.

Dernière modification par pingouinux (Le 07/02/2019, à 12:37)

Hors ligne

#3 Le 07/02/2019, à 13:50

piter42

Re : aide compréhension script python

dur dur ,j ai reécris le script et j ai exactement les mêmes réponses si je met oui,non,rien ??

def question(annonce,essais=4,please="oui ou non,svp!"):
    while essais>0:
        reponse=input(annonce)
        if reponse in("oui","non"):
            return 
        print(please)
        essais=essais-1
        
        
rep=question("voulez vous vraiment terminer?")
rep=question("faut il effacer ce fichier?",3)
rep=question("avez vous compris?",2,"repondez par oui ou par non !")

return avec n importe quelle valeur ou sans aucune le résultat est le même ?
j ai rassemblé les réponses oui et non dans la même condition ,idem rien ne change à l exécution du script ?
ou alors il y a quelque chose que je ne vois pas ?

Hors ligne

#4 Le 07/02/2019, à 14:10

kholo

Re : aide compréhension script python

salut,
je t'ai commenté le script et j'ai fait des modifications pour mieux le comprendre :

def question(annonce,essais=4,please="oui ou non,svp!"):
    """ cette fonction pose une question 
    on remarque que le programmeur prévois qu'on puisse ne pas donner de valeur
    pour essais, qui prendra 4 par défaut ou
    pour please qui prendra oui ou non,svp!" comme valeur par défaut"""
    while essais>0:
        """ elle prévoit de poser plusieurs fois la question
        si la réponse n'est pas conforme à une des possibilités 
        testées ensuite """
        
        """ ici on donne une réponse """
        reponse=input(annonce)
        
        """ ces 2 if testent les valeurs dans un tuple """
        if reponse in("o","oui","O","Oui","OUI"):
            return 1
        if reponse in("n","non","N","Non","NON"):
            return 0
        """ python préconise un seul return par fonction... 
        mais là c'est pas grave !""" 
        
        """ si on a pas répondu par une des possibilités  
        on a cette partie qui s'exécute"""
        print(please)
        """ et le nombre d'essais possible qui diminues """
        essais=essais-1
        
        
""" première possibilité : juste une question """
rep1=question("voulez vous vraiment terminer?")
""" seconde possibilité : une question et un nombre limité à 3 essais"""
rep2=question("faut il effacer ce fichier?",3)
""" troisième possibilité : on donne la question, le nombre d'essais et la phrase en cas de mauvaise réponse """
rep3=question("avez vous compris?",2,"repondez par oui ou par non !")

""" rep n'est pas renvoyé pour voir la réponse il manque :"""
print(rep1, rep2, rep3)
""" comme on le vois dans le code, ces réponse sont des entiers soit 0, soit 1
que l'on pourra ensuite ré-utiliser """

Hors ligne

#5 Le 07/02/2019, à 15:01

piter42

Re : aide compréhension script python

merci de vos réponses,ça y est j ai capitto smile j ai compris pourquoi il y a 2 if,j ai modifie le script comme tu m as préconisé rep1,2,3 et print(rep 1.2....) et voila mon résultat avec des 0 ou 1 à utiliser plus tard ,c est ça que je comprenait pas. Je ne voyais pas l utilité de mettre 2 conditions pour avoir le même résultat,,,
encore merci à vous 2, je progresse doucement il y a 2 jours c était du charabia et aujourd hui c est presque du français ..comme quoi wink

Hors ligne

#6 Le 07/02/2019, à 15:57

kholo

Re : aide compréhension script python

je t'invite à regarder du côté des mooc...
tu as un max de supports de cours, du texte, des vidéos, des pdf, un forum,... et nous bien sûr !
ensuite les questionnaires permettent d'aller un peu plus loin.
tu peux obtenir un certificat en fin de session (un peu bidon, mais ça fait une carotte pour courir après !)

on est quelques un ici à avoir fait celui de fun mooc : Python 3 : des fondamentaux aux concepts avancés du langage
en ce moment, je fais : Apprendre à coder avec Python
il me semble bien simple et plus orienté import à la façon de visual basic en cachant certaines complexités (mais on termine juste la première semaine, ce sera peut être plus compliqué ensuite).

Celui sur les fondamentaux est vraiment bien wink
PS mes connaissances de python se limitent en TRES grande partie de ce mooc !
PS2 : j'avais mis entre parenthèse les dernières parties qui me semblaient trop ardues que je rattaque maintenant !

Dernière modification par kholo (Le 07/02/2019, à 16:01)

Hors ligne

#7 Le 07/02/2019, à 17:37

piter42

Re : aide compréhension script python

merci kholo je vais y regarder ..

Hors ligne