2015-09-13 5 views
0

J'utilise notepad ++ et exécute avec Python 2.7. Si je cours le code ci-dessous et entrez le mot "gentil" la fonction len() renvoie 5 au lieu de quatre. Pour autant que je puisse trouver la cinquième lettre est le "entrer" je dois appuyer sur pour confirmer ma contribution "agréable". Qu'est-ce qui ne va pas?Pourquoi raw_input() prend "enter" comme un caractère à l'entrée des utilisateurs

userchoice = raw_input("Please type in nice:") 
userchoice=str(userchoice) 
print len(userchoice) 
if userchoice == 'nice': 
    print "YESSSS" 
else: 
    print "Didn't work" 
+1

Impossible de répliquer: 'S'il vous plaît taper Nice: YESSSS' – Andy

+0

Essayez dépouillant avec userchoice.strip() – Jajo

+1

également incapables de se reproduire – ForceBru

Répondre

0

Vous pouvez tout d'abord faire userchoice.strip() pour supprimer le saut de ligne.

De plus, il n'est pas nécessaire de faire str(userchoice) car `raw_input retourne déjà une chaîne.

+0

Merci. .strip() a aidé. Le str (userchoice) est un reste de mes expériences. Merci Ashwini. C'est la raison! –

+0

@ ChristianMai, vous devriez vérifier la question de votre question (lol, comment le reformuler? :)) est une copie de, il y a une explication. – ForceBru