Решение на Пет функции от Никола Ненков
Резултати
- 10 точки от тестове
- 0 бонус точки
- 10 точки общо
- 16 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
................ ---------------------------------------------------------------------- Ran 16 tests in 0.010s OK
История (7 версии и 4 коментара)
Никола обнови решението на 16.03.2014 15:50 (преди над 10 години)
Никола обнови решението на 16.03.2014 15:52 (преди над 10 години)
Сори за 3те версии, бях качил по-стара и докато се усетя какво да обновя...
по-добрият вариант е да имаш константа, в която да пазиш българската азбука; не е дълга и няма да се промени в бъдеще, така че няма смисъл да се генерира с фунцкия
и така става
dict([type(key), {}] for key in dictionary)
, но можеш да разгледаш хитринките за идеи за по-добър вариантс това
string_histogram = str(char_histogram(text)); only_letters = sorted(re.sub('[\W_0-9]', '', string_histogram).lower())
премахваш повтарящите се символи, но минаваш през повече представяния от колкото ти са нужни; т.е. правиш лесното сложноразцъкай
anagrams
с думи с главни и малки букви, особено такива, в които имаш една и съща буква иlowercase
, иuppercase
Благодаря за feedback-a.
Наистина не исках да я hardcode-вам, но добре. Btw дали няма да се промени в бъдеще като се има предвид колко безполезна е ь не се знае :)
Вярно, нямам идея как го пропуснах, въпреки че го видях 10 пъти.
С това не махам повтарящи се символи, а символи, които не са букви. Напълно съм убеден, че има по-лесен и ясен начин, но не го видях.
Не съм сигурен какво имаш предвид. Опитах
['a', 'A']
,['aA', 'Aa']
,['ab', 'AB']
и изглежда работят нормално. Може ли обясниш по-точно какъв е проблемът.
Никола обнови решението на 16.03.2014 18:44 (преди над 10 години)
Никола обнови решението на 16.03.2014 18:46 (преди над 10 години)
Никола обнови решението на 19.03.2014 12:55 (преди над 10 години)
Сега го видях. Предполагам преди това дотолкова съм искал да използвам char_histogram
поради някаква причина, че съм минал през няколко глупави представяния, само за да го включа някакси. Все още не разбирам проблема с главните и малки букви обаче.