Антония обнови решението на 14.03.2014 00:23 (преди над 10 години)
+from functools import cmp_to_key
+
+def char_histogram(text):
+ histogram_dict = {}
+
+ for word in text:
+ if word in histogram_dict:
+ histogram_dict[word] = histogram_dict[word] + 1
+ else:
+ histogram_dict[word] = 1
+
+ return (histogram_dict)
+
+def is_pangram(sentence):
+
+ sentence_histogram = char_histogram(sentence.upper())
+ punctuation = [' ', ',', '.', '-', '!', '?']
+ for i in punctuation:
+ if i in sentence_histogram.keys():
+ del sentence_histogram[i]
+ return (len(sentence_histogram) == 30)
+
+def sort_by(func, arguments):
+ arguments.sort(key=cmp_to_key(func))
+ return arguments
+
+def group_by_type(dictionary):
+
+ dictionary_by_type = {}
+ for i in dictionary.keys():
+ dictionary_by_type[type(i)] = dict([(x, dictionary[x]) for x in dictionary.keys() if type(x) == type(i)])
+ return dictionary_by_type
+
+def anagrams(words):
+ n = []
+ for s in words:
+ a = list([x for x in words if sorted(list(s)) == sorted(list(x))])
+ if a not in n:
+ n.append(a)
+
+ return (n)
Анаграма е дума или фраза образувана от буквите на друга дума или фраза, чрез пермутация.
- Твоето решение не прави разлика между буква и символ.
- Използваш еднобуквени имена на променливи