Der Absatz soll Leerzeichen und zufällige Interpunktion enthalten. Ich habe sie in meiner for-Schleife entfernt, indem ich .replace ausgeführt habe. Dann habe ich mit .split () einen Absatz in eine Liste aufgenommen, um ['the', 'title', 'etc'] zu erhalten. Dann habe ich zwei Funktionen dazu gebracht, Wörter zu zählen, um jedes Wort zu zählen, aber ich wollte nicht, dass es jedes Wort zählt, also habe ich eine andere Funktion erstellt, um eine eindeutige Liste zu erstellen. Ich muss jedoch eine for-Schleife erstellen, um jedes Wort auszudrucken und wie oft es gesagt wurde, wobei die Ausgabe ungefähr so ist
The word The appears 2 times in the paragraph.
The word titled appears 1 times in the paragraph.
The word track appears 1 times in the paragraph.
Es fällt mir auch schwer zu verstehen, was eine for-Schleife im Wesentlichen bewirkt. Ich habe gelesen, dass wir nur for-Schleifen zum Zählen verwenden sollten, und while-Schleifen für andere Dinge, aber eine while-Schleife kann auch zum Zählen verwendet werden.
paragraph = """ The titled track “Heart Attack” does not interpret the
feelings of being in love in a serious way,
but with Chuu’s own adorable emoticon like ways. The music video has
references to historical and fictional
figures such as the artist Rene Magritte!!.... """
for r in ((",", ""), ("!", ""), (".", ""), (" ", "")):
paragraph = paragraph.replace(*r)
paragraph_list = paragraph.split()
def count_words(word, word_list):
word_count = 0
for i in range(len(word_list)):
if word_list[i] == word:
word_count += 1
return word_count
def unique(word):
result = []
for f in word:
if f not in result:
result.append(f)
return result
unique_list = unique(paragraph_list)
Es ist besser, wenn Sie re
und get
mit einem Standardwert verwenden:
paragraph = """ The titled track “Heart Attack” does not interpret the
feelings of being in love in a serious way,
but with Chuu’s own adorable emoticon like ways. The music video has
references to historical and fictional
figures such as the artist Rene Magritte!!.... c c c c c c c ccc"""
import re
word_count = {}
for w in re.split(' |,|“|”|!|\?|\.|\n', paragraph.lower()):
word_count[w] = word_count.get(w, 0) + 1
del word_count['']
for k, v in word_count.items():
print("The word {} appears {} time(s) in the paragraph".format(k, v))
Ausgabe:
The word the appears 4 time(s) in the paragraph
The word titled appears 1 time(s) in the paragraph
The word track appears 1 time(s) in the paragraph
...
Es ist diskutierbar, was zu tun Chuu’s
ist. Ich habe beschlossen, mich nicht zu trennen, ’
aber Sie können das später hinzufügen, wenn Sie möchten.
Aktualisieren:
Die folgende Zeile wird paragraph.lower()
mit einem regulären Ausdruck geteilt. Der Vorteil ist, dass Sie mehrere Trennzeichen beschreiben können
re.split(' |,|“|”|!|\?|\.|\n', paragraph.lower()
In Bezug auf diese Zeile:
word_count[w] = word_count.get(w, 0) + 1
word_count
ist ein Wörterbuch. Der Vorteil der Verwendung get
besteht darin, dass Sie einen Standardwert definieren können, falls dieser w
noch nicht im Wörterbuch enthalten ist. Die Zeile aktualisiert grundsätzlich die Anzahl der Wörterw
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen