Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
8 / 5 / 3
Регистрация: 16.12.2019
Сообщений: 23

Голодная диета

20.05.2020, 12:43. Показов 1611. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста исправить код, пишет "run-time error"

По пути на Поле чудес Лиса, Кот и Пиноккио завернули на часок в таверну. Но аппетита ни у кого не было. Кот, страдавший тяжёлым расстройством желудка, смог съесть всего лишь 35 рыбок-краснобородок в томатном соусе и 4 порции требухи в соусе пармезан. Лиса, которой доктор прописал строжайшую диету, ограничилась хорошо прожаренным зайцем и лёгкой закуской - парой хорошо откормленных кур и молодых петушков. Пиноккио заказал пол-ореха и кусочек хлеба, но и к этому не прикоснулся.

Напишите программу, которая выведет для каждого сотрапезника список того, что он заказал. И заказанная еда, и едоки могут повторяться. Выводить без повторений.

Формат ввода
Вводятся строки вида:

Еда - едок

И еда, и едоки могут повторяться.

Формат вывода
Для каждого едока с новой строки вывести всё, что он ел без повторений. Порядок вывода не важен. Выводить в виде:

Едок: еда1, еда2, ...

Пример 1
Ввод Вывод
fish-krasnoborodko - Cat
fish-krasnoborodko - Cat
the hare - Fox
chicken in sauce - Fox
fish-krasnoborodko - Cat
young cockerel - Fox
red-chinned fish - Fox
tripe in Parmesan sauce - Cat
three crusts of bread - Pinocchio
half a nut - Pinocchio
Cat: fish-krasnoborodko, tripe in Parmesan sauce
Fox: red-chinned fish, chicken in sauce, the hare, young cockerel
Pinocchio: three crusts of bread, half a nut
Пример 2
Ввод Вывод
stew of partridges, rabbits and grapes - Fox
butter and grated cheese - Cat
stew of frogs and lizards - Fox
butter and grated cheese - Cat
butter and grated cheese - Cat
partridge, rabbit and grape stew - Cat
Fox: stew of partridges, rabbits and grapes, stew of frogs and lizards
Cat: butter and grated cheese, partridge, rabbit and grape stew

Python
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import sys
from itertools import groupby
 
fox = list()
cat = list()
pinocchio = list()
for line in sys.stdin:
    line1 = line.split(' - ')
    if line1[1][:-1] == "Fox":
        fox.append(line1[0])
    elif line1[1][:-1] == "Cat":
        cat.append(line1[0])
    elif line1[1][:-1] == 'Pinocchio':
        pinocchio.append(line1[0])
new_fox = [el for el, _ in groupby(fox)]
new_cat = [el for el, _ in groupby(cat)]
new_pinocchio = [el for el, _ in groupby(pinocchio)]
if len(new_pinocchio) == 0:
    print("Fox:", end=' ')
    for i in range(len(new_fox) - 1):
        print(new_fox[i], end=', ')
    print(new_fox[-1])
    print("Cat:", end=' ')
    for i in range(len(new_cat) - 1):
        print(new_cat[i], end=', ')
    print(new_cat[-1])
elif len(new_fox) == 0:
    print("Pinocchio:", end=' ')
    for i in range(len(new_pinocchio) - 1):
        print(new_pinocchio[i], end=', ')
    print(new_pinocchio[-1])
    print("Cat:", end=' ')
    for i in range(len(new_cat) - 1):
        print(new_cat[i], end=', ')
    print(new_cat[-1])
elif len(new_cat) == 0:
    print("Pinocchio:", end=' ')
    for i in range(len(new_pinocchio) - 1):
        print(new_pinocchio[i], end=', ')
    print(new_pinocchio[-1])
    print("Fox:", end=' ')
    for i in range(len(new_fox) - 1):
        print(new_fox[i], end=', ')
    print(new_fox[-1])
elif len(new_fox) == 0 and len(new_cat) == 0:
    print("Pinocchio:", end=' ')
    for i in range(len(new_pinocchio) - 1):
        print(new_pinocchio[i], end=', ')
    print(new_pinocchio[-1])
elif len(new_fox) == 0 and len(new_pinocchio):
    print("Cat:", end=' ')
    for i in range(len(new_cat) - 1):
        print(new_cat[i], end=', ')
    print(new_cat[-1])
elif len(new_cat) == 0 and len(new_pinocchio):
    print("Fox:", end=' ')
    for i in range(len(new_fox) - 1):
        print(new_fox[i], end=', ')
    print(new_fox[-1])
else:
    print("Fox:", end=' ')
    for i in range(len(new_fox) - 1):
        print(new_fox[i], end=', ')
    print(new_fox[-1])
    print("Cat:", end=' ')
    for i in range(len(new_cat) - 1):
        print(new_cat[i], end=', ')
    print(new_cat[-1])
    print("Pinocchio:", end=' ')
    for i in range(len(new_pinocchio) - 1):
        print(new_pinocchio[i], end=', ')
    print(new_pinocchio[-1])
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2020, 12:43
Ответы с готовыми решениями:

Голодная диета
Люди добрые помогите пожалуйста разобраться: По пути на Поле чудес Лиса, Кот и Пиноккио завернули на часок в таверну. Но аппетита ни у...

Диета
Диета Петя решил придерживаться новой диеты — есть на ужин только продукты, названия которых имеют определенную длину и начинаются с...

Диета Деда Мороза
Помогите решить Диета Деда Мороза Ограничение по времени: 1 секунда Ограничение по памяти: 64 Mb Наверняка, вы спросите:...

8
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
20.05.2020, 13:16
А словарь(dict) где?
0
8 / 5 / 3
Регистрация: 16.12.2019
Сообщений: 23
20.05.2020, 13:19  [ТС]
eaa, а он нужен?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
20.05.2020, 13:22
с помощью dict тут решение пару строк.
0
0 / 0 / 0
Регистрация: 26.04.2021
Сообщений: 8
26.04.2021, 16:44
Люди добрые подскажите, где ошибка? тест выдает:

Traceback (most recent call last):
File "/temp/executing/solution.py", line 8, in <module>
if st[1] not in m:
IndexError: list index out of range
make: *** [run] Error 1

Хотя в PyCharm все нормально работает

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import sys
data = ''.join(sys.stdin.readlines())
data = data.split('\n')
m = {}
st = []
for s in data:
    st = s.split(' - ')
    if st[1] not in m:
        m[st[1]] = st[0]
    else:
        if st[0] not in m[st[1]]:
            m[st[1]] = m[st[1]] + ', ' + st[0]
for key in m.keys():
    print(key, ': ', m[key], sep='')
0
5 / 2 / 3
Регистрация: 25.04.2021
Сообщений: 21
26.04.2021, 16:53
Anubis1302, в 6-8 строке
0
0 / 0 / 0
Регистрация: 26.04.2021
Сообщений: 8
26.04.2021, 16:56
А что там не так?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
26.04.2021, 17:02
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
st = '''\
fish-krasnoborodko - Cat
fish-krasnoborodko - Cat
the hare - Fox
chicken in sauce - Fox
fish-krasnoborodko - Cat
young cockerel - Fox
red-chinned fish - Fox
tripe in Parmesan sauce - Cat
three crusts of bread - Pinocchio
half a nut - Pinocchio'''
d = {}
for line in st.splitlines():
    food, eater = line.split(' - ')
    d.setdefault(eater, set()).add(food)
for k, v in d.items():
    print(f'{k}:', ', '.join(v))
1
0 / 0 / 0
Регистрация: 26.04.2021
Сообщений: 8
26.04.2021, 19:15
Спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.04.2021, 19:15
Помогаю со студенческими работами здесь

Диета Бармаглота
Это очень срочно

Голодная зима. циклы.
хэлп, плиз! срочно =) выкладываю условие и пример проги на javascript. на паскале грамотно кто-нибудь может написать? Голодная зима....

Голодная коза на веревке.
Есть квадратное поле с травой, сторона квадрата - N. В центре поля привязана веревка длины r. К другому концу веревки привязана коза. ...

Написать программу Голодная зима
Написать программу с оператором while Голодная зима. Суточный рацион коровы составляет u кг сена, ν кг силоса и ω кг...

Диета. Задача оптимизации
Здравствуйте! Не могли бы Вы меня подтолкнуть на верный путь?Суть задачи в следующем: Для рационального питания новомодная диета...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru