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

Волшебные палочки

13.11.2021, 20:03. Показов 974. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Волшебные палочки

Это задача на повторение. Для ее решения не нужно использовать множества или словари.

Менеджер магазина волшебных палочек Олливандера проверяет работоспособность магической системы учета проданных палочек. Выборочно он записывает информацию о проданных волшебных палочках в виде списка, содержащего имя и фамилию владельца, год приобретения и материал, из которого изготовлена палочка. Записи вводятся до тех пор, пока менеджер не введет слово "Конец". Иногда владелец магазина, Олливандер, хочет вспомнить всех, кто покупал у него палочку в определенный год. Если никто не купил палочку в указанный год, то выводится фраза: "В этот год никто не покупал волшебные палочки."

ФОРМАТ ВВОДА
Строки типа "ИФ владельца, год, материал". Строки вводятся до тех пора, пока не будет введена строка "Конец". Гарантируется, что будет введена как минимум одна строка с информацией о клиенте.
Год.

ФОРМАТ ВЫВОДА
Строка типа "В <XXXX> году волшебную палочку купили:" и перечисление ИФ тех, кто купил волшебную палочку, а также уточнение материала, из которого она изготовлена (см. пример), строка заканчивается точкой. Либо строка "В этот год никто не покупал волшебные палочки."
КЛИКНИТЕ, ЧТОБЫ ПОКАЗАТЬ/СКРЫТЬ ПОДСКАЗКУ
Если у вас не получилось решить задачу самостоятельно, можете воспользоваться нашим алгоритмом с подсказкой.

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

ЧТО ИСПОЛЬЗУЕМ:

input(), цикл while, цикл for, split(), условный оператор, методы списков, .join(), print()
ЧТО ДЕЛАЕМ:
Создать пустой список, куда будем записывать информацию о клиентах.
Считать в переменную строку с информацией о первом клиенте.
Запустить цикл while: пока переменная из п. 2 не равна строке "Конец", добавить строку с информацией о клиенте в список из п. 1. Затем считать строку с информацией о новом клиенте.
Считать в переменную строку с интересующим Олливандера годом.
Создать новый пустой список, куда будем добавлять информацию только о клиентах, купивших палочки в этот год.
Запускаем цикл for для списка из п. 1:
для каждого клиента разбиваем строку с информацией по запятым и пробелам, сохраняем этот список в переменную.
Проверяем условие: если второй элемент списка (первый для Python) равен интересующему нас году, то записываем в список из п. 5 f-строку вида "<ИМЯ КЛИНЕТА (первый элемент списка)> (материал - <МАТЕРИАЛ (третий элемент списка)>)". В итоге у нас получится список отформатированных строк или пустой список, если в этот год палочки никто не покупал.
После завершения работы цикла проверяем условие — если длина списка из п. 5 равна нулю — печатаем, что палочки никто не покупал. В ином случае печатаем строку заданного формата. Например, можно вывести f-строку, а на место перечня клиентов вставить список из п. 5, объединенный через запятую с пробелом (', '.join()).
Для примера:

Ввод
Долорес Амбридж, 1957, береза
Гермиона Грейнджер, 1989, виноградная лоза
Седрик Диггори, 1985, ясень
Невилл Долгопупс, 1989, вишневое дерево
Конец
1989

Результат
В 1989 году волшебную палочку купили: Гермиона Грейнджер (материал - виноградная лоза), Невилл Долгопупс (материал - вишневое дерево).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2021, 20:03
Ответы с готовыми решениями:

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

Волшебные палочки
Три волшебника готовятся сразиться со злом. У каждого есть волшебная палочка, их длины — a , b и c , соответственно. Перед сражением...

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2021, 20:03
Помогаю со студенческими работами здесь

Волшебные слова
Волшебные слова макс. 25 балл. Дедлайн: 13 февр. 20:12 Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный...

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

Волшебные драйвера
Доброго времени суток форумчане! Столкнулся с невиданной доселе проблемой. Решил обновить драйвера для видеокарты &quot;GF GTS...

Волшебные строки
Всем привет. Пытаюсь сделать капчу, вернее капча работает, но столкнулся с интерессностью. В конфигах сохранил: $config =...

Волшебные числа
Волшебное число — это такое число, которое получается конкатенацией (сцеплением) чисел 1, 14 и 144. Каждое число разрешается брать сколько...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru