2012-01-07 2 views
0

Я написал сценарий с Python 2.7 и это код:Почему этот код на Python ошибочен?

name=raw_input("Hi im a PC, who are you?") 

print("Hi " + name + " how are you, are you good?") 

answer = raw_input("") 

if (answer) == yes: 
    print("That's good to hear") 
elif (answer) == no: 
    print("Oh well") 
else: 
    print("Sorry, you didnt answer the question properly, Please answer with a yes or no") 

Это ошибка, я получаю:

 
Traceback (most recent call last): 

File "C:/Python27/programs/2", line 4, in 

    if (answer) == yes: 

NameError: name 'yes' is not defined 

ответ

3

у вас есть не переменная с именем yes,
Что вы пытаетесь сделать это сравнить пользовательский ввод в строку "yes"

который будет идти, как:

if answer == "yes": 
    # do stuff 

Также нет необходимости в тех скобках вокруг ответа.

+0

спасибо кучи !!! – user1135707

1

answer является строкой, и вы должны использовать answer == "yes"

0

Вам нужно положить " или ' в ваших строках. yes не "yes", и no не "no".

#if (answer) == yes: 
if (answer) == "yes": 

#elif (answer) == no: 
elif (answer) == "no": 

Ошибка name 'yes' is not defined потому, что интерпретатор искал переменную с именем yes, потому что слово без " или '. Если вы напишете "yes", интерпретатор сравнит значение переменной answer со строкой "yes".

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