Александър обнови решението на 18.03.2014 21:08 (преди над 10 години)
+def is_pangram(sentence):
+ alphabet = ['а', 'б', 'в', 'г', 'д', 'е', 'ж',
+ 'з', 'и', 'й', 'к', 'л', 'м', 'н',
+ 'о', 'п', 'р', 'с', 'т', 'у', 'ф',
+ 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ь',
+ 'ю', 'я']
+ is_pangram = False
+ for letter in sentence.lower():
+ if letter in alphabet:
+ alphabet.remove(letter)
+ if len(alphabet) == 0:
+ is_pangram = True
+ return is_pangram
+
+def char_histogram(text):
+ char_histogram = {}
+ for letter in text:
+ if letter not in char_histogram:
+ char_histogram[letter] = 1
+ else:
+ char_histogram[letter] += 1
+ return char_histogram
+
+def group_by_type(dictionary):
+ grouped_dictionary = {}
+ for key in dictionary:
+ if type(key) not in grouped_dictionary:
+ grouped_dictionary[type(key)] = {key: dictionary[key]}
+ else:
+ grouped_dictionary[type(key)][key] = dictionary[key]
+ return grouped_dictionary
+
+def is_anagram(string, compared_string):
+ anagram = True
+ if len(string) != len(compared_string):
+ return False
+ for string_letter in string:
+ if string_letter not in compared_string:
+ anagram = False
+ return anagram
+
+def sorted_anagram_list(word, words):
+ sorted_anagrams = []
+ for string in words:
+ if is_anagram(word, string):
+ sorted_anagrams.append(string)
+ sorted_anagrams.sort()
+ return sorted_anagrams
+
+def anagram(words):
+ anagrams = []
+ for word in words:
+ if sorted_anagram_list(word, words) not in anagrams:
+ anagrams.append(sorted_anagram_list(word, words))
+ return anagrams
+
+def sort_by(func, arguments):
+ for i in range(0, len(arguments)):
+ for j in range(0, len(arguments)):
+ if func(arguments[i], arguments[j]) > 0:
+ temp = arguments[i]
+ arguments[i] = arguments[j]
+ arguments[j] = temp
+ arguments.reverse()
+ return arguments
-
char_histogram
иgroup_by_type
можеш да я подобриш, ако си прегледаш хитринките - сортировката не ти е стабилна, а по условие се иска да е такава (ако не знаеш какво е това питай тук)
- забележи, че функцията се казва
anagrams
, а неanagram
- при анаграмите - трябва да гледаш само буквите и то без значени дали са главни или малки
- в Python се swap-ва така
a, b = b, a