Таня обнови решението на 17.03.2014 15:31 (преди над 10 години)
+from functools import cmp_to_key
+
+
+def is_pangram(sentence):
+ alphabet = "абвгдежзийклмнопрстуфхцчшщъьюя"
+ sentence = sentence.lower()
+ for letter in alphabet:
+ if letter not in sentence:
+ return False
+ return True
+
+
+def count_char(text, char):
+ count = 0
+ for letter in text:
+ if letter == char:
+ count += 1
+ return count
+
+
+def char_histogram(text):
+ histogram = {}
+ for char in text:
+ histogram[char] = histogram.get(char, 0) + 1
+ return histogram
+
+
+def sort_by(func, arguments):
+ return sorted(arguments, key=cmp_to_key(func))
+
+
+def group_by_type(dictionary):
+ grouped = {}
+ for key in dictionary.keys():
+ type_k = type(key)
+ grouped[type_k] = {k: dictionary[k] for k in dictionary if type(k) == type_k}
+ return grouped
+
+
+def get_set_of_letters(word):
+ return {char for char in word if char.isalpha()}
+
+
+def is_anagram(first_word, second_word):
+ return get_set_of_letters(first_word) == get_set_of_letters(second_word)
+
+
+def anagrams(words):
+ anagrams = []
+ for word in words:
+ anagram = [w for w in words if is_anagram(w, word)]
+ if anagram not in anagrams:
+ anagrams.append(anagram)
+ return anagrams
- Анаграмите не се интересуват от символи, а само от букви и не са
case-sensitive
-
type_k
не е хубаво име
Благодаря за забележката. Надявам се сега да е ок.