Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 13.03.2020
Сообщений: 7

Добрые советы Пиноккио

06.05.2020, 13:50. Показов 1884. Ответов 10

Студворк — интернет-сервис помощи студентам
Вы знаете Пиноккио? Ну да, это тот самый непослушный деревянный мальчик, который всегда всё хочет делать наоборот! Ох, как бы не довело это его до беды! А пока все встречные и поперечные дают Пиноккио добрые советы, однако он не спешит им следовать.

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

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

персонаж - совет

Повторения возможны.

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

персонаж: совет1; совет2; …

Пример 1
Ввод Вывод
Geppetto - Stop laughing
Cricket - Go to school
Geppetto - Give me back my wig
Police officer - Go back to your father
Cricket - Learn a craft
Cricket - Go to school
Geppetto: Stop laughing; Give me back my wig
Cricket: Learn a craft; Go to school
Police officer: Go back to your father
Пример 2
Ввод Вывод
Cricket - Don't upset your father
Papa Geppetto - Don't poke your nose into the painted hearth
Cricket - Don't run away from home
Cricket: Don't run away from home; Don't upset your father
Papa Geppetto: Don't poke your nose into the painted he


import sys

a = {}
data = list(set(map(str.strip, sys.stdin)))
data.reverse()

for i in data:
x = i.split(' - ')
y = x[1]
z = x[0]
if y not in a:
a[y] = z + ','
elif z not in a[y]:
a[y] += ' ' + z + ','
for j in a:
a[j] = a[j].rstrip(',')
for k in a:
print(k + ': ' + a[k])

код не работает, помогите пожалуйста исправить
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2020, 13:50
Ответы с готовыми решениями:

Добрые советы Пиноккио
Вы знаете Пиноккио? Ну да, это тот самый непослушный деревянный мальчик, который всегда всё хочет делать наоборот! Ох, как бы не довело это...

Новый сайт - нужны добрые советы
Всех с наступившим Новым годом!!! Вот собственно говоря, дилемма, которую я решаю. Этот сайт: любовный гороскоп был создан...

Олимпиада задача "Пиноккио"
Как же утомительно ждать, пока Улитка спустится вниз и откроет дверь бедному Пиноккио! Особенно, если на улице зима, а ты 24 часа ничего...

10
06.05.2020, 14:02

Не по теме:


13 мая помогу

0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
06.05.2020, 14:03
nastyshka666808, Уже было:
Python
1
2
3
4
5
6
7
8
9
10
11
12
# -*- mode: python 3.8.2 ; encoding: utf-8 -*-
 
hero_phrases = {}
 
while (line := input()) != "":
    hero, phrase = line.split(" - ")
    if hero not in hero_phrases:
        hero_phrases[hero] = []
    hero_phrases[hero].append(phrase)
 
for hero, phrases in hero_phrases.items():
    print(f"{hero} - {'; '.join(phrases)}")
0
0 / 0 / 0
Регистрация: 13.03.2020
Сообщений: 7
06.05.2020, 14:06  [ТС]
DmFat, я бы не спросила если бы этот код работал. но спасибо за помощь
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
06.05.2020, 14:08
nastyshka666808, а что в нем не работает?
0
0 / 0 / 0
Регистрация: 13.03.2020
Сообщений: 7
06.05.2020, 14:11  [ТС]
DmFat, Эта строка while (line: = input()) != "":
Возможно я не вижу очевидной ошибки
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
06.05.2020, 14:11
nastyshka666808, а, стоп, условия другие, секунду.
0
3 / 3 / 0
Регистрация: 04.05.2020
Сообщений: 13
06.05.2020, 14:11
Цитата Сообщение от nastyshka666808 Посмотреть сообщение
DmFat, я бы не спросила если бы этот код работал. но спасибо за помощь
Подсказка: чтобы что-то получить, нужно какие-то данные ввести.
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
06.05.2020, 14:18
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- encoding: utf-8 -*-
 
hero_phrases = {}
 
# Моржовый оператор введен в Python 3.8
# while (line := input()) != "":
# Строка выше это замена данной конструкции:
while True:
    line = input()
    if line == "":
        break
    # ----------------- #
    hero, phrase = line.split(" - ")
    if hero not in hero_phrases:
        hero_phrases[hero] = []
    if phrase not in hero_phrases[hero]:
        hero_phrases[hero].append(phrase)
 
for hero, phrases in hero_phrases.items():
    print(f"{hero} - {'; '.join(phrases)}")
Добавлено через 1 минуту
oxog_hex, у нее ошибка из за того что старую версию python'a использует.
0
0 / 0 / 0
Регистрация: 13.03.2020
Сообщений: 7
06.05.2020, 14:24  [ТС]
DmFat, Спасибо большое. Пойду обновлю python)
0
1 / 1 / 0
Регистрация: 13.10.2019
Сообщений: 20
12.05.2020, 15:00
Цитата Сообщение от DmFat Посмотреть сообщение
line = input()
Программе не нравиться эта строчка что делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2020, 15:00
Помогаю со студенческими работами здесь

Добрые сказки
Всем доброго времени суток. Понравились две сказки на просторах инета, может кто знает подобные с таким же качеством юмора,...

добрые люди
добрые люди,помоги решить пожалуйста, буду крайне признателен и благодарен Правила форума :rtfm: Правила, 5.16. Запрещено...

люди добрые
помогите написать программу, пожалуйста: Если sqrt(x^3-bx)=0, напечатать x,b. Если sqrt(x^3-bx)не равно 0, вычислить y=(x^3-bx+e^x *...

Добрые люди!
У меня такая проблема, есть: телевизор, ip-камера и ноутбук; Мне очень нужно знать такую программу, чтобы она позволяла мне выводить видео...

Добрые тролли
Секретные территории: Добрые тролли вселенной. i5NPPLDAzVY


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru