En plein apprentissage

Résolu
Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention   -  
Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention   -
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

A voir également:

1 réponse

roudoudou
 
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 1234 Date d'inscription   Statut Membre Dernière intervention   116
 
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 1234 Date d'inscription   Statut Membre Dernière intervention  
 
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 1234 Date d'inscription   Statut Membre Dernière intervention   116
 
J'ai réglé le problème mais merci :)
0