2016-12-16 11 views
-1
import os 
import random 
import sys 

def search(a): 
    datafile = open("test.txt","r") 
    quote = datafile.read() 
    quote_list = quote.split(" ") 
    d = len(quote_list) 
    print(quote_list) 
    for x in range(0,4): 
    string = quote_list.pop() 
    print(string) 
    if(string==a): 
     return 0 
    else: 
     continue 



print("Enter the word to search") 
b = sys.stdin.readline() 
c=search(b) 
if(c==0): 
    print("Found") 
else: 
    print("Not Found") 

このコードは、テキストファイル内の特定の文字列を検索するためのコードは機能しません。問題を解決するために私を助けてください。Pythonでテキストファイル内の文字列を検索

+0

検索値を読み込み、コードの一部を取り除きます関数本体と同じインデントを持ち、したがってその一部とみなされます。コードの一部をインデント解除し、スクリプトの実行時に実行されます。 –

+0

'b = raw_input("検索する単語を入力してください) 'の代わりに、' print( "検索する単語を入力してください")b = sys.stdin.readline()を使用する理由はありますか? – Michael

答えて

0

ラインを変更してみてください:

c=search(b) 

に:

c=search(b.strip()) 

改行ユーザ入力には、あなたの邪魔になっているものと考えられます。

あなたはおそらく変更すること以外

for x in range(0,4): 

へ:

for x in quote_list: 

とパラメータd

+0

いいえ、問題は単にインデントされました。あなたが質問を編集したので、それは実際に今働くので冗長になりました。 –

+0

おかげで。 strip()を追加すると効果があります。 – Hpareek07

+0

@a_guest OPはあなたに同意しません;)通常、このような字下げの問題は、ブラウザにコピー&ペーストすることによるものであり、実際の問題ではありません。 – alfasin

関連する問題