diff --git a/tagger.py b/tagger.py index 107f035..015bbcb 100644 --- a/tagger.py +++ b/tagger.py @@ -51,6 +51,11 @@ 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 @@ -72,11 +77,7 @@ class FileScanner(HTMLParser): # ... und die Bewertung entsprechen der Anzahl verbessern. score += upper_letters_count * 5 # Die Bewertung für das Wort speichern. - # 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 + words_with_usage[word] = Tag(name=tag_name, score=score) # Die Wörter nach ihrer Bewertung sortieren return sorted(words_with_usage.values(), key=lambda tag: tag.score, reverse=True)