почему python говорит мне, что моя переменная yes не определена? - PullRequest
0 голосов
/ 07 января 2012

Я написал этот скрипт на Python 2.7:

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 ]

3 голосов
/ 07 января 2012

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

который будет выглядеть так:

if answer == "yes":
    # do stuff

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

1 голос
/ 07 января 2012

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

0 голосов
/ 28 января 2016

Вы должны поместить " или ' в ваши строки.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".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...