2016-03-22 2 views
0
key=input("What is your word? ") 
ans=open("file.txt","r") 
for line in ans: 
    for word in line.split(): 
     if (key) in (word): 
      print("Yes") 

コードは入力変数なしで書き込むと機能しますが、入力したテキストが定義されていないということが戻ってきます。Pythonで入力変数を使用してtxtファイル内の単語を検索するにはどうすればよいですか?

+0

キーをline.split()で実行すると、キーがそのファイル内のある単語であることを期待して、ビットを最適化できます。 –

答えて

1

inputからraw_inputに変更すると、コードは正常に動作します。 inputは、ユーザがPythonコードとして入力したものを評価します。raw_inputは、ユーザ入力を文字列として返します。

1

Python2では、input()はPython3と同じではありません。 Python2では、input()eval(raw_input())と同じです。つまり、ユーザーのタイプをPythonコードに変換します。ユーザーが通常の単語を入力すると、Pythonは評価しようとしますが、変数が定義されていないことがわかります。 Python2ではraw_input()を使用する必要があり、input()では使用できません。