La gestion de la saisie de l'utilisateur dans le cas de Python
J'ai mis en place un script pour dire quelque chose lorsque l'utilisateur entre autre chose que Yes
. Cependant, il dit encore présent lorsque l'utilisateur dit Yes
. Ce que je fais mal?
Je suis à l'aide de Python 2.7.2.
Voici mon code:
print 'Hi! Welcome!'
begin = raw_input ('Will you answer some questions for me? ')
if begin == 'yes':
print 'Ok! Let\'s get started then!'
else:
print 'Well then why did you open a script clearly entiled\'QUIZ\'?!'
- Vous devez utiliser des guillemets si vous n'avez pas à échapper les guillemets, par exemple.
print "Ok! Let's get started then!"
- Astuce: essayez
'yes' == 'Yes'
à l'interpréteur de commandes.
Vous devez vous connecter pour publier un commentaire.
Il suffit de changer la ligne
à
À cause de comparaison de chaîne est sensible à la casse, le match sera seulement si elle est vraie ssi l'utilisateur entre la réponse en minuscules
edited 2 hours ago
La question ici est affaire de sensibilité.
Essayez d'utiliser
str.lower()
sur la saisie de l'utilisateur avant votre comparaison pour ignorer la casse. E. g:#Si une apostrophe est utilisée à l'intérieur de l'impression str il doit être entouré par des doubles apostrophes.
Abhijit la méthode fonctionne également si vous voulez juste l'accepter, plus d'une version d'une chaîne à partir d'un utilisateur. Par exemple, je suis en utilisant ce, afin de confirmer si l'utilisateur veut quitter:
De cette façon, soit " n " ou "N"; " non " ou " NON " ou " non "sont acceptés les cas de "non".