Окунёмся в суровый и беспощадный мир очереди ** приём к врачу в поликлинике. Напишем...

0 голосов
111 просмотров

Окунёмся в суровый и беспощадный мир очереди на приём к врачу в поликлинике. Напишем программу-медсестру, которая поможет врачу определить, кто следующий проходит к нему в кабинет. Изначально в очереди никого нет. Далее в каком-то порядке происходят события трёх типов: фраза «Кто последний? Я - <фамилия>.» означает, что пришёл новый пациент и встал в конец очереди; фраза «Я только спросить! Я - <фамилия>.» означает, что пришёл новый пациент и встал в начало очереди; фраза «Следующий!» означает, что доктор готов принять первого пациента в очереди. В последнем случае нужно вывести «Заходит <фамилия>!» или «В очереди никого нет.» На психологическую достоверность данная модель очереди, конечно, не претендует: в жизни такое нахальство с «я только спросить» прощается далеко не всегда. Формат ввода На первой строке вводится натуральное число N — количество событий. Далее следуют N строк описанного в условии формата. Формат вывода Выводится несколько строк, по одной на каждое «Следующий!» в вводе, в соответствии с условием в порядке общей очереди. Пример Ввод 7 Кто последний? Я - Кузнецов. Кто последний? Я - Поливанов. Следующий! Я только спросить! Я - Иванова. Следующий! Следующий! Следующий! вывод Заходит Кузнецов! Заходит Иванова! Заходит Поливанов! В очереди никого нет. питон


Информатика (48 баллов) | 111 просмотров
Дан 1 ответ
0 голосов

Python 3.7.0

Лови, прикрепил фото с результатами, посмотри(т.е сразу выводит, после "следующий")


count = int(input("Количество событий: "))

queue = []      # очередь

for i in range(count):

   event = input()

   if "Кто последний?" in event:

       queue.append(event[19:len(event) - 1])

   if "Я только спросить!" in event:

       queue.insert(0, event[23:len(event) - 1])

   if "Следующий!" in event:

       if queue:

           print("Заходит " + queue.pop(0) + "!")

       else:

           print("В очереди никого нет.")


image
(654k баллов)