diff --git a/tagger.py b/tagger.py index 8d094e3..09086be 100644 --- a/tagger.py +++ b/tagger.py @@ -56,11 +56,6 @@ class FileScanner(HTMLParser): continue # Alle Buchstaben verkleinern, aber gleichzeitig originales Wort merken word = tag_name.lower() - # Wenn das Wort bereits eine Bewertung besitzt, wird die vorhandene Bewertung verdoppelt - # und mit dem nächsten Wort fortgefahren. - if word in words_with_usage: - words_with_usage[word].score *= 2 - continue # Standard Bewertung für jedes Wort ist 10 score = 10 # Wörter, die in der Liste der ausgeschlossenen Wörter stehen, ignorieren @@ -82,7 +77,11 @@ class FileScanner(HTMLParser): # ... und die Bewertung entsprechen der Anzahl verbessern. score += upper_letters_count * 5 # Die Bewertung für das Wort speichern. - words_with_usage[word] = Tag(name=tag_name, score=score) + # Wenn das Wort bereits eine Bewertung besitzt werden die beiden Bewertungen zusammen gerechnet. + if word not in words_with_usage: + words_with_usage[word] = Tag(name=tag_name, score=score) + else: + words_with_usage[word].score += score # Die Wörter nach ihrer Bewertung sortieren return sorted(words_with_usage.values(), key=lambda tag: tag.score, reverse=True)