2011-10-27 7 views
0

あなたの目標は、解析するテキストファイルをユーザーに求めることです。また、 には、ファイルを分析するときに無視されるストップワードのファイルが提供されます。 のコンコーダンスを作成した後、以下に出力例 のように一致結果を出力します。Pythonとの関連

  • 単語
  • 出現するたびに発生
  • の総数:あなたが印刷される一致の各単語について
    • ファイルの行番号(最初の行は行番号です1)
    • ローカルコンテキスト。ローカルコンテキストは、すべての大文字で指定された単語を持つ元の行です。

は、これは私がこれまで持っているものです。

import string 
file_str = raw_input("What file to analyze:") 
file_obj = open(file_str) 
for line in file_obj.readlines(): 
    line = line.strip() 
    split_line = line.split() 
    for word in split_line: 
     word = word.lower() 
     word = word.strip(string.punctuation) 

私はどこそこから行くのか分かりません!

+2

最後の数日でSOに同様の質問がありました。アーカイブを少し閲覧したいかもしれません。 –

+0

構文の問題があります.4行目の下にあるすべてのコードをインデントします。どのようにして一致を定義しますか? – Simon

+0

あなたは何をしているつもりですか? – millimoose

答えて

0

あなたが必要としているのは、行番号についての情報を入力するように求められているため、外部ループの各反復でインクリメントするカウンタです。

次に、次のステップは辞書を用意することです。ループの外側

単語が出現するたびに、それがすでに辞書のキーであるかどうかを確認します。

if word in words: 

そうであれば、そうでない場合、エントリに

word_info = words[word] 
    word_info = // something changed 
    // possibly you need this depending on the type of word_info 
    words[word] = word_info 

を更新し、新しいエントリを作成

else: 
    word_info = // something 
    words[word] = word_info 

私は、値の種類を把握するためにあなたにそれを任せるword_infoすべきだ。

+0

我々は、このようなitsy bitsyスパイダー としてストーリーズとファイルTXT与えられていると我々はそれの主な単語をカウントし、それに の出力例を活用しなければならなかった: は、どのようなファイルを分析:ファイルitsy_bitsy_spiderためitsy_bitsy_spider.txt コンコーダンス。 tts itsy:合計数:2 行:1:ITSY Bitsyスパイダーが吐水口を這い回した 行:4:ITSY Bitsyスパイダーが再度吐き口に上がった! はクロール:合計数:1 ライン:1:総数:2 行目:1:4:とItsy Itsy Bitsyスパイダーは、吐水 ラインアップクロールItsy Bitsyスパイダーは、吐水 口をクロールさをびっくりしたスパイダーが再びSPOUTを上った! –

関連する問題