From 855971518caa17ce8eedcf54bc275e123a97e5f2 Mon Sep 17 00:00:00 2001 From: Stefano Agnelli Date: Tue, 17 Dec 2024 22:51:02 +0100 Subject: [PATCH 1/2] solution m3-022 --- projects/022-anagrams/python/main.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/projects/022-anagrams/python/main.py b/projects/022-anagrams/python/main.py index e69de29b..9b86633e 100644 --- a/projects/022-anagrams/python/main.py +++ b/projects/022-anagrams/python/main.py @@ -0,0 +1,20 @@ +def hist(string): + word_dict = dict() + for char in string: + if char in word_dict: + word_dict[char] += 1 + + else: + word_dict[char] = 1 + + return word_dict + + +user_string_1 = input('insert first word: ').lower() +user_string_2 = input('insert second word: ').lower() + +if hist(user_string_1) == hist(user_string_2): + print(f'{user_string_1} and {user_string_2} are anagrams.') + +else: + print(f'{user_string_1} and {user_string_2} are not anagrams.') From b7cff2ab3eb1de0928a670dff98d698f65866812 Mon Sep 17 00:00:00 2001 From: Stefano Agnelli Date: Fri, 27 Dec 2024 15:32:17 +0100 Subject: [PATCH 2/2] solution m3-022-optimized --- projects/022-anagrams/python/main.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/projects/022-anagrams/python/main.py b/projects/022-anagrams/python/main.py index 9b86633e..7363d390 100644 --- a/projects/022-anagrams/python/main.py +++ b/projects/022-anagrams/python/main.py @@ -1,19 +1,26 @@ -def hist(string): - word_dict = dict() - for char in string: - if char in word_dict: - word_dict[char] += 1 - - else: - word_dict[char] = 1 +def hist(string_1, string_2 ): + + if len(string_1) != len(string_2): + return False + + word_dict_1 = list() + word_dict_2 = list() - return word_dict + for i in range(len(string_1)): + word_dict_1.append(string_1[i]) + word_dict_2.append(string_2[i]) + + word_dict_1.sort() + word_dict_2.sort() + return word_dict_1 == word_dict_2 user_string_1 = input('insert first word: ').lower() user_string_2 = input('insert second word: ').lower() -if hist(user_string_1) == hist(user_string_2): +is_anagram = hist(user_string_1, user_string_2) + +if is_anagram: print(f'{user_string_1} and {user_string_2} are anagrams.') else: