2013-05-09 8 views
6
input_var = input ("Press 'E' and 'Enter' to Exit: ") 

NameError: name 'e' is not defined 

Sto usando Python 2.5. Come posso superare questo errore?NameError from Python input() function

+1

@ShinTakezou: se ciò funziona correttamente, non stai usando Python 2.5. – geoffspear

+0

@Wooble usando python 2.5 r25: 51908 (ma sarebbe lo stesso con 2.7) e indovina: funziona bene. In realtà il problema non è la linea stessa (ma l'input fornito e l'uso errato dell '"input") ... c'è una risposta scortese per questo, è rtfm, l'ho appena evitato, ma posso educatamente versare il dubbio in modo che le persone possano pensare di aver bisogno di ispezionare il problema più profondamente per ottenere quello che sta succedendo mentre aspettano un aiuto concreto? L'ho fatto, o almeno così penso. Molto probabilmente, fallito. Illuminare è una questione così difficile. – ShinTakezou

+1

L'intero problema è 'input()' in Python 2. Se si digita 'e' al prompt, si * riceverà * un errore, quindi non" funziona correttamente ". – geoffspear

risposta

27

input legge e valuta un'espressione Python. Quando tenta di valutarlo, cerca una variabile e, che non è definita e non riesce.

Quasi sempre si desidera utilizzare raw_input. (E in Python3, input has this behaviour.)

Oppure, meglio, su Unix, utilizzare readline in modo che l'utente possa modificare il proprio input.

+0

grazie per il tuo tempo e il tuo link –

Problemi correlati