Диана обнови решението на 17.03.2014 19:52 (преди над 10 години)
+def is_pangram(sentance):
+ sentance = sentance.lower()
+ alphabet = list("явертъуиопасдфгхйклзьцжбнм")
+ for letter in sentance:
+ if letter in alphabet:
+ alphabet.remove(letter)
+ return not alphabet
+
+
+def char_histogram(text):
+ histogram = {}
+ for symbol in text:
+ if symbol in histogram:
+ histogram[symbol] += 1
+ else:
+ histogram[symbol] = 1
+ return histogram
+
+
+def sort_by(func, arguments):
+ for i in range(len(arguments)):
+ for j in range(i):
+ if func(arguments[i], arguments[j]) <= 0:
+ arguments[i], arguments[j] = arguments[j], arguments[i]
+ return arguments
+
+
+def group_by_type(dictionary):
+ types = {}
+ for key, value in dictionary.items():
+ if type(key) in types:
+ types[type(key)][key] = value
+ else:
+ types[type(key)] = {key: value}
+ return types
+
+
+def is_anagram(list_a, list_b):
+ for letter in list(list_a):
+ if letter in list_b:
+ list_a.remove(letter)
+ list_b.remove(letter)
+ return (not list_a) and (not list_b)
+
+
+def anagrams(words):
+ whole_list = []
+ while words:
+ word = words.pop()
+ analist = [word]
+ for i in list(words):
+ if is_anagram(list(word), list(i)):
+ analist.append(i)
+ words.remove(i)
+ whole_list.append(analist)
+ return whole_list
- Постарай се в имената на променливите ти да няма типа им
- Сортирането ти не е стабилно
- Анаграмите се интересуват само от букви, не от символи, освен това не правят разлика между малки и големи букви