Илиян обнови решението на 19.03.2014 01:35 (преди над 10 години)
+from collections import OrderedDict
+
+BG_ALP = [
+ "а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о",
+ "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ь", "ю", "я"
+]
+
+
+def is_pangram(sentence):
+ alp_holder = BG_ALP[:]
+ letters = set(_.lower() for _ in sentence)
+ for letter in letters:
+ if letter in alp_holder:
+ alp_holder.remove(letter)
+ if not alp_holder:
+ return True
+ else:
+ return False
+
+
+def char_histogram(text):
+ char_dic = {i: text.count(i) for i in text}
+ return char_dic
+print(char_histogram('This is an example!'))
+
+
+def sort_by(func, arguments):
+ for i in range(len(arguments)):
+ for j in range(i, len(arguments)):
+ if func(arguments[i], arguments[j]) > 0:
+ temp = arguments[i]
+ arguments[i] = arguments[j]
+ arguments[j] = temp
+ return arguments
+
+
+def group_by_type(d):
+ new_dict = {}
+ for key, value in d.items():
+ old_value = new_dict.setdefault(type(key), {key: value})
+ old_value[key] = value
+ print(new_dict)
+ #new_dict[type(key)] = old_value
+ return new_dict
- Разкарай
print
-a -
alp_holder
можеш да го кръстишalphabet_holder
и ще е по-ясно какво държи -
char_dic
, типа не трябва да присъства в името на променливата, освен това е написан неправилно -
temp
, всички променливи са временни, но размяната на стойности на двете променливи в Python става така:first, second = second, first
- Като цяло повече променливи са именовани не много добре:
old_value
,new_dict
,BG_ALP
,d
. Помисли за по-добри имена.