Dans 2.x python, raw_input()
renvoie une chaîne et input()
évalue l'entrée dans le contexte d'exécution dans lequel il est appelé
>>> x = input()
"hello"
>>> y = input()
x + " world"
>>> y
'hello world'
En 3.x python, input
a été mis au rebut et la fonction précédemment connue comme raw_input
est maintenant input
. Donc, vous devez appeler manuellement compile
et que eval
si vous voulez l'ancienne fonctionnalité.
python2.x python3.x
raw_input() --------------> input()
input() -------------------> eval(input())
3.x, la session ci-dessus va comme ceci
>>> x = eval(input())
'hello'
>>> y = eval(input())
x + ' world'
>>> y
'hello world'
>>>
Alors vous obtenez probablement une erreur au interpretor parce que vous ne mettez pas les guillemets autour de votre entrée. Ceci est nécessaire car il est évalué. Où vous obtenez une erreur de nom?
ce qui se passe ici j'ai essayé votre lignes sur la console (3.x) et il interprété x = entrée() "bonjour" <- je tape ceci sur la console lorsqu'on lui a demandé) x + "monde" y 'x + "monde" Pourquoi? x ne se traduit pas en une chaîne –
l'erreur que je recevais >>> x = entrée() retraçage (le plus récent appel dernier): Fichier « », ligne 1, dans EOFError: EOF lors de la lecture d'une ligne –
@Guillermo, La section d'interprète que j'ai montré est pour 2.x. J'ai foiré sur 3.x (je n'ai pas beaucoup joué avec ça) donc j'ai supprimé cette partie de ma réponse. – aaronasterling