-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpython_hw3.py
37 lines (28 loc) · 2.66 KB
/
python_hw3.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#Встроенная функция input позволяет ожидать и возвращать данные из стандартного
#ввода в виде строки (весь введенный пользователем текст до нажатия им enter).
#Используя данную функцию, напишите программу, которая:
#1. После запуска предлагает пользователю ввести текст.
#2. В качестве ответа печатает наиболее часто встречающееся в тексте слово
#или несколько таких слов, если имеет место "ничья". Также указывая
#сколько именно раз слово встретилось в тексте. (Игнорируйте заглавные буквы
#при отождествлении слов - то есть считайте слова "Подлодка" и "подлодка"
#одинаковыми, а разные формы слов - разными словами)
#После чего ждет следующего ввода.
#Пример:
#-> собака кот кошка Собака
#2 - собака
#-> собака кот кошка Собака кот
#2 - собака
#2 - кот
from collections import Counter
while True:
in_str=input('Enter words: ')
in_list=in_str.lower().split() #Переводим строку в список, исключая заглавные буквы
in_dict=dict(Counter(in_list)) #Создаем словарь, в котором пара ключ:значение - введенные слова и их количество
max_val = max(in_dict.values()) #Считаем максимальное количество повторений введенных слов
dict_with_max_repeats= {key: value for key, value in in_dict.items() if value == max_val} #Создаем новый словарь, в который попадают элементы in_dict,
# если количество их повторений равно максимальному количеству повторений элементов
for key,value in dict_with_max_repeats.items():
print (value, '-', key)
#Поиск максимального значения в словаре Python
#https://ru.stackoverflow.com/questions/759476/%D0%BD%D0%B0%D0%B9%D1%82%D0%B8-%D0%BC%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8F-python