diff --git a/u4/word_count.py b/u4/word_count.py index 6da2abf..be1859c 100644 --- a/u4/word_count.py +++ b/u4/word_count.py @@ -1,19 +1,11 @@ def count_words(sentence): - dict = {} - separators = [".", ",", ":", "!", "?", "\n", "\t", "'", " ", '"'] + counts = {} + start = 0 + for i, ch in enumerate(sentence + " "): + if not (ch.isalnum() or ch == "'"): + word = sentence[start:i].lower().strip("'") + start = i + 1 + if word: + counts[word] = counts.get(word, 0) + 1 - previous_i = 0 - for i, chr in enumerate(sentence): - if chr in separators: - word = sentence[previous_i:i] - previous_i = i + 1 - word = word.lower().strip(" ") - if word in separators or word == "": - continue - if word in dict: - dict[word] = dict[word] + 1 - else: - dict.update({word : 1}) - return dict - -print(count_words("""To je heslo: 'HESLO 123'!", zvolala postava zo seriálu Panelák.\nPotom som utiekol.""")) \ No newline at end of file + return counts \ No newline at end of file