Concordanțe cu Python

Scopurile dvs. sunt de a solicita utilizatorului să analizeze un fișier text. Veți fi, de asemenea, furnizate cu un fișier de cuvinte stop - cuvinte care vor fi ignorate atunci când analizați fișierul. După creând concordanța, tipăriți rezultatele concordanței așa cum este indicat în exemplu ieșire de mai jos. Pentru fiecare cuvânt din concordanță veți tipări:

  • the word
  • the total number of occurrences
  • for each occurrence:
    • the line number in the file (the first line is line #1)
    • the local context. The local context is the original line with the specified word in all upper case.

Așa am făcut până acum:

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)

Nu sunt sigur de unde să merg de acolo!

0
Aș începe prin analizarea structurilor de date de care aveți nevoie. Cum vei stoca cuvintele? Cum veți stoca informațiile de care aveți nevoie despre fiecare cuvânt? Apoi, dați seama cum veți aduna aceste informații.
adăugat autor kindall, sursa
În ultimele câteva zile a apărut o întrebare similară cu privire la SO. Poate doriți să răsfoiți arhiva puțin.
adăugat autor Sven Marnach, sursa
În ce parte încerci să faci asta?
adăugat autor millimoose, sursa
aveți o problemă de sintaxă: indentați tot codul de sub linia a patra. Cum definiți concordanțele?
adăugat autor Simon, sursa
@Deci există alte întrebări cu privire la aceleași teme, dar ele pot strica elemente de răspuns la PO. Dacă ceva Emily ar trebui să încerce să formuleze problema într-un mod mai precis. Luați în considerare acest lucru ca un exercițiu de bonus special pentru SO :-)
adăugat autor Simon, sursa
am primit fișiere txt cu storuri, cum ar fi păianjenul ei bitsy și trebuie să numărăm cuvântul principal din acesta și apoi să-l capitalizăm. Exemplu de ieșire: Analizați ce fișier: itsy_bitsy_spider.txt Concordanța pentru fișierul itsy_bitsy_spider.txt ity: Total Count: 2 Linia: 1: Păianjenul ITSY Bitsy a taiat gura de apă Linia: 4: iar păianjenul ITSY Bitsy a urcat din nou la gură! 1 Total: 2 Linia: 1: Spiderul Itsy Bitsy a coborât în ​​apă SPOUT Line: 4: și păianjenul Itsy Bitsy a urcat în sus SPOUT din nou!
adăugat autor stackoverflow_user1, sursa

1 răspunsuri

Ei bine, un lucru de care aveți nevoie este un contor pe care îl creșteți pe fiecare iterație a bucla exterioară, deoarece vi se cere să furnizați câteva informații despre numerele de linie.

Apoi următorul pas este să aveți un dicționar. În afara bucla

words = {}

De fiecare dată când întâlniți un cuvânt, verificați dacă acesta este deja o cheie în dicționar.

if word in words:

Dacă da, actualizați înregistrarea

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

Dacă nu, creați o intrare nouă

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

Vă las să vă dați seama ce fel de valoare ar trebui să fie cuvântul_info.

0
adăugat
am primit fișiere txt cu storuri, cum ar fi păianjenul ei bitsy și trebuie să numărăm cuvântul principal din acesta și apoi să-l capitalizăm. Exemplu de ieșire: Analizați ce fișier: itsy_bitsy_spider.txt Concordanța pentru fișierul itsy_bitsy_spider.txt ity: Total Count: 2 Linia: 1: Păianjenul ITSY Bitsy a taiat gura de apă Linia: 4: iar păianjenul ITSY Bitsy a urcat din nou la gură! 1 Total: 2 Linia: 1: Spiderul Itsy Bitsy a coborât în ​​apă SPOUT Line: 4: și păianjenul Itsy Bitsy a urcat în sus SPOUT din nou!
adăugat autor stackoverflow_user1, sursa
Python România
Python România
61 participanți

Comunitatea pasionaților de Python din România.

Python Jobs România - Moldova
Python Jobs România - Moldova
30 participanți

Comunitatea Python Română: @python_ro