En plein apprentissage

Résolu/Fermé
Synerz Messages postés 1221 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 27 décembre 2017 - 28 juil. 2016 à 10:47
Synerz Messages postés 1221 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 27 décembre 2017 - 29 juil. 2016 à 18:23
Bonjour,
je travail sur codeacademy pour apprendre le langage Python et je suis un peu bloqué :/
J'aimerai un petit coup de main, je ne cherche pas la réponse mais plutôt qu'on m'oriente vers la réponse.
Voici ce que je dois faire : Ecrivez une fonction fermer(), qui prend un paramètre (vous pouvez utiliser ce que vous voulez mais dans ce cas nous utiliserons s pour string). La fonction fermer retourne "Fermeture..." quand elle reçoit "Oui", "oui" ou "OUI" en argument et retourne "Fermeture annulee !" (NB sans accent) quand elle reçoit "Non", "non" ou "NON".
Si elle reçoit autre chose en argument elle doit retourner : "Je ne vous comprends pas."

Et voici mon code
def fermer (s):    
    if s.lower() == "oui" :
        print "Fermeture..."
        return s
    elif s.lower() == "non" :
        print "Fermeture annulee !"
        return s        
    else :
        print "Je ne vous comprends pas."
        return s


Et quand je valide mon code j'ai un message d'erreur qui me dit :"Votre fonction a échoué avec le message YES. Elle retourne 'YES' au lieu de 'Je ne vous comprends pas.'"

Voila voila un peu d'aide fais toujours plaisir :)

Je vais bientôt partir travailler donc je risque de ne pas répondre tout de suite

1 réponse

Le problème vient dans ce que ta fonction retourne, là en l’occurrence, elle retourne toujours la chaîne fournie en argument, peu importe la valeur de la chaîne donnée.

Teste ta fonction, en faisant print(fermer('oui')) et print(fermer('YES'))

Voilà, de quoi comprendre et corriger ton erreur.

Autre chose, si codeacademy est très rigoureux, il peut également te piéger avec une valeur comme 'oUi' :D
Solution : list ou tuple
0
Synerz Messages postés 1221 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 27 décembre 2017 116
Modifié par Synerz le 29/07/2016 à 09:36
Bonjour,
Déjà merci de me venir en aide :)
Je me suis remis dans le problème ce matin et j'ai trouvé l'erreur. L'énoncé dit qu'il faut retourner "fermture.." etc etc et comme tu m'as dit, je retournais l'argument ce qui faisait merder le truc haha
0
Mosca > Synerz Messages postés 1221 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 27 décembre 2017
29 juil. 2016 à 09:42
Bonjour

J'ai essayé ton script sur codecademy, ça fonctionne normalement.
Peut-être que tu t'y prends mal.

Comment tu procèdes?
0
Synerz Messages postés 1221 Date d'inscription mercredi 5 juin 2013 Statut Membre Dernière intervention 27 décembre 2017 116
29 juil. 2016 à 18:23
J'ai réglé le problème mais merci :)
0