2016-09-11 2 views
0

Я работал над проектом и тестировал проекты If/Elif/Else, я написал немного кода, чтобы понять, как он работает. Я писал:Операторы Python IF/ELIF/ELSE, вызывающие ошибку

opclo = input('>'); 
if(opclo == 'CLOSED'): 
    print "Good night."; 
elif(opclo == 'WACKED'): 
    print "wacked"; 
else: 
    print "Good morning."; 

Это дает мне эту ошибку:

Traceback (most recent call last): 
    File "python", line 2, in <module> 
    File "<string>", line 1, in <module> 
NameError: name 'CLOSED' is not defined 

Я задаюсь вопросом, почему он это делает. Я попробовал mutliple вещи, такие как снятие скобок, добавив opclo = opclo2 (делая линию 1 opclo в opclo2) и добавляя массив с "CLOSED" и "WACKED". Есть идеи?

Спасибо.

+0

Почему точки с запятой? –

+0

Если вы полностью удалили 'if' /' elif'. вы все равно будете иметь эту точную ошибку. –

ответ

3

Вы используете Python2, поэтому вам необходимо использовать raw_input вместо input.

opclo = raw_input('>') 
if opclo == 'CLOSED': 
    print "Good night." 
elif opclo == 'WACKED': 
    print "wacked" 
else: 
    print "Good morning." 
+0

Спасибо за ответ! Действительно оценен. –

0

Т.Л., д-р

вход ('>') - для питона выражений

raw_input - для строк.

Вы должны использовать raw_input

+0

'input' не для цифр, а для выражений python. – Daniel

Смежные вопросы