2012-01-07 23 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"ではありません。単語が"または'なしであるため、インタプリタはyesという変数を探したので

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

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

エラーname 'yes' is not definedです。 "yes"と書くと、インタープリタは変数answerの値と文字列"yes"を比較します。

関連する問題