Атанас обнови решението на 14.03.2014 22:59 (преди над 10 години)
+def is_pangram(sentence):
+ cyrillic_lower = ('абвгдежзийклмнопрстуфхцчшщъьюя')
+ cyrillic_upper = ('АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯ')
+ for index in range(len(cyrillic_lower)):
+ if cyrillic_lower[index] not in sentence and \
+ cyrillic_upper[index] not in sentence:
+ return False
+ return True
+
+
+def char_histogram(text):
+ result = {}
+ for letter in text:
+ if letter not in result:
+ result[letter] = text.count(letter)
+ return result
+
+def sort_by(func, arguments):
+ for i in range(len(arguments) - 1):
+ for j in range (i + 1, len(arguments)):
+ if func(arguments[i], arguments[j]) > 0:
+ temporary = arguments[i]
+ arguments[i] = arguments[j]
+ arguments[j] = temporary
+ return arguments
+
+
+def group_by_type(dictionary):
+ result = {}
+ while len(dictionary):
+ item = dictionary.popitem()
+ if type(item[0]) in result:
+ key_value = result[type(item[0])]
+ key_value.update([item])
+ result[type(item[0])] = key_value
+ else:
+ result[type(item[0])] = {item[0]: item[1]}
+ return result
+
+
+def anagrams(words):
+ almost_result = [[other_word for other_word in words \
+ if char_histogram(other_word) == char_histogram(word)] \
+ for word in words]
+ result = []
+ for item in almost_result:
+ if item not in result:
+ result.insert(0, item)
+ return result
Анаграма е дума или фраза образувана от буквите на друга дума или фраза, чрез пермутация.
- Твоето решение не прави разлика между буква и символ.
- Опитай се да намериш случай, в който твоята имплементация на
sort_by
се чупи