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

NameError: name 'e' is not defined 

Używam Pythona 2.5. Jak mogę pokonać ten błąd?NameError z funkcji Python input()

+1

@ShinTakezou: jeśli to działa dobrze, nie używasz Pythona 2.5. – geoffspear

+0

@Woble przy użyciu python 2.5 r25: 51908 (ale tak samo było z 2.7) i zgadnij: działa dobrze. W rzeczywistości problemem nie jest sama linia (ale dostarczone dane wejściowe i niewłaściwe użycie "wejścia") ... jest na to rażąca odpowiedź, to rtfm, właśnie tego uniknąłem, ale czy mogę grzecznie wlać wątpliwości, że ludzie mogą myśleć, że muszą głębiej zbadać problem, aby uzyskać to, co się dzieje, czekając na rzeczywistą pomoc? Zrobiłem tak, przynajmniej tak myślę. Bardzo prawdopodobne, nie udało się. Oświecenie to taka trudna sprawa. – ShinTakezou

+1

Cały problem to "input()" w Pythonie 2. Jeśli wpiszesz 'e' w monicie, * dostanie * błąd, więc nie" działa dobrze ". – geoffspear

Odpowiedz

27

input odczytuje i ocenia wyrażenie w języku Python. Kiedy próbuje ją ocenić, szuka zmiennej e, która nie jest zdefiniowana i kończy się niepowodzeniem.

Zamiast tego prawie zawsze chcesz użyć raw_input. (I in Python3, input has this behaviour.)

Lub, lepiej, na systemie Unix, użyj readline, aby użytkownik mógł edytować wprowadzane dane.

+0

dzięki za poświęcony czas i link –

Powiązane problemy