2011-10-27 6 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

지난 며칠 동안 비슷한 질문이있었습니다. 아카이브를 조금 열어 볼 수도 있습니다. –

+0

구문 오류가 있습니다. 네 번째 줄 아래의 모든 코드를 들여 쓰기하십시오. 일치어는 어떻게 정의합니까? – Simon

+0

당신은 어떤 부분을 고집하고 있습니까? – millimoose

답변

0

필요한 것은 라인 번호에 대한 정보를 입력해야하기 때문에 외부 루프 반복마다 증가하는 카운터입니다.

다음 단계는 사전을 만드는 것입니다. 루프 바깥 쪽

words = {} 

단어가 나타날 때마다 사전에 이미 키인지 확인하십시오.

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 

그렇지 않은 경우에는 업데이트하는 경우, 내가 가치 word_info의 종류를 알아 내기 위해 당신에게 그것을 떠날거야

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

새 항목을 만들 해야한다.

+0

우리는 조그만 조그만 거미 로 storys와 파일이 txt 제공하고 우리는 주요 단어를 계산 한 후 그것을 출력 예제를 활용했다 : 어떤 파일을 분석 : 파일 itsy_bitsy_spider에 대한 itsy_bitsy_spider.txt 콘코 던스. tts itsy : 합계 : 2 줄 : 1 : ITSY Bitsy 거미가 물 뿜어 내뿜는 소리를 내뿜었습니다 줄 : 4 : ITSY Bitsy 거미가 다시 주둥이 위로 올라갔습니다! 크롤링 : 총 개수 : 1 라인 : 1 : 총 개수 : :이 조그만 거미는 물 배출구 주둥이를 크롤링 2 라인 : 1 : 4 : 및 마스터 님, 돈을 마스터 님, 돈을 버 거미는 물 배출구 라인을 크롤 천박한 거미가 다시 SPOUT을 올라갔습니다! –