Материалы по курсу «Основы программирования»

Задачи на лабораторную работу № 13

Функция freq_dict(xs), 3 балла

Функция freq_dict(xs) принимает итерируемый объект со строками и строит частотный словарь — словарь, ключами которого являются строки, а значениями — количество их вхождений:

>>> freq_dict(["ехал", "грека", "через", "реку",
               "видит", "грека", "в", "реке", "рак",
               "сунул", "грека", "руку", "в", "реку",
               "рак", "за", "руку", "греку", "цап"])
{'ехал':1, 'грека':3, 'через':1, 'реку':2, 'видит':1, 'в':2, …}
>>> freq_dict('abracadabra')
{'a':5, 'b':2, 'c':1, 'd':1, 'r':2}

Функция sort_freq_dict(ds), 4 балла

Написать функцию sort_freq_dict(ds), которая принимает частотный словарь и распечатывает его в порядке убывания частот слов:

>>> ds = freq_dict(["ехал", "грека", "через", "реку",
                    "видит", "грека", "в", "реке", "рак",
                    "сунул", "грека", "руку", "в", "реку",
                    "рак", "за", "руку", "греку", "цап"])
>>> sort_freq_dict(ds)
3 грека
2 реку
2 рак
2 в
2 руку
…
>>> sort_freq_dict(freq_dict('abracadabra'))
5 a
2 b
2 r
1 c
1 d