Задача Python. Напишите программу, которая определяет вкус, встречающийся в наибольшем количестве проданных порций.
В магазинчике итальянского мороженого продается мороженое разных вкусов, при этом в одной порции можно собрать несколько шариков разных вкусов.
Для каждой проданной порции записываются вкусы всех шариков в этой порции.
Напишите программу, которая определяет вкус, встречающийся в наибольшем количестве проданных порций.
ФОРМАТ ВВОДА
Файл ice-cream.csv в кодировке utf-8, гарантировано, что в файле есть минимум одна строка с данными.
ВАЖНО! Ваше решение будет проверяться на закрытых тестах. Ваш код должен считывать файл 'ice-cream.csv' без дополнительных указаний (например, пути к файлу на вашем компьютере).
На каждой строке файла записаны вкусы шариков через точку с запятой. Например, 'клубника;манго;зеленое яблоко'.
Одна строка файла описывает одну порцию мороженого.
ФОРМАТ ВЫВОДА
Вкус мороженого, который встречался в наибольшем количестве порций (каждая порция описана одной строкой таблицы). Если в одной порции присутствует несколько шариков с одинаковым вкусом, то такой вкус для этой порции нужно учесть только один раз.
Гарантируется, что самый популярный вкус только один.
ДОПОЛНИТЕЛЬНО
В открытом тесте используется файл ice-cream.csv. Вы можете скачать его и проверить свое решение локально.
В примере в первой колонке отображается номер теста (0 — открытый тест), считывать это число или использовать его в вашем решении не нужно.
АЛГОРИТМ РЕШЕНИЯ
Это один из возможных алгоритмов решения задачи. Вы можете воспользоваться им в качестве подсказки или решить задачу любым другим удобным для вас способом.
Создайте соединение с файлом для чтения информации.
Создайте пустой словарь для подсчета вкусов.
Пройдитесь циклом по переменной-коннектору. Так вы получите доступ ко всем строкам файла. Далее выполните следующие действия для каждой строки:
Разбейте каждую строку по разделителю — так вы получите отдельные вкусы. Для каждой строки вновь запустите цикл.
Для каждого вкуса в строке сделайте проверку — есть ли ключ с таким вкусом в вашем словаре. Если нет — создайте новую пару ключ-значение, где вы посчитаете вкус впервые. Если да — обновите значение этого ключа на 1.
Найдите максимальное значение вашего словаря, где вы подсчитали, сколько раз встречается каждый вкус.
Пройдитесь циклом по ключам словаря и выведете только тот, значение которого равно максимальному.
Для примера:
Тест
0
Результат
манго
input1 = open('ice-cream.csv', encoding='utf-8').readlines()
tastes = [item[:-1] for item in input1[:-1]] + [input1[-1]]
tastesdic = {}
for item in tastes:
____for taste in set(item.split(';')):
________if taste in tastesdic.keys():
____________tastesdic[taste] += 1
________else:
____________tastesdic[taste] = 1
print(max(tastesdic, key=tastesdic.get))