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

Кто последний?

02.01.2019, 22:20. Показов 22053. Ответов 9
Метки нет (Все метки)

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

Изначально в очереди никого нет. Далее в каком-то порядке происходят события трёх типов:

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

На психологическую достоверность данная модель очереди, конечно, не претендует: в жизни такое нахальство с «я только спросить» прощается далеко не всегда.

Формат ввода
На первой строке вводится натуральное число N — количество событий.
Далее следуют N строк описанного в условии формата.

Формат вывода
Выводится несколько строк, по одной на каждое «Следующий!» в вводе, в соответствии с условием в порядке общей очереди.

Пример
Ввод Вывод
7
Кто последний? Я - Кузнецов.
Кто последний? Я - Поливанов.
Следующий!
Я только спросить! Я - Иванова.
Следующий!
Следующий!
Следующий!
Вывод
Заходит Кузнецов!
Заходит Иванова!
Заходит Поливанов!
В очереди никого нет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.01.2019, 22:20
Ответы с готовыми решениями:

Кто последний?
Кто последний? Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt Вывод стандартный вывод...

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

Кто дергал сайт из "ты последний", помогите совето
Сайт залетел под ты последний и не хочет выходить. Менял контент, менял ссылки, писал в платон (получил стандартную отписку - все хорошо,...

9
 Аватар для soilz
2 / 1 / 1
Регистрация: 22.10.2018
Сообщений: 39
03.01.2019, 01:28
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DS = []
who_is_next = "кто следующий?"
I_only_ask = "я только спросить!"
nextt = "следующий"
N = int(input("число обращений="))
 
while N != 0:
    inp = input("введите прцедуру :")
    k = 0
 
    if inp == who_is_next:
        DS.append("Я-")
    elif inp == I_only_ask:
        DS.insert(input("Я-"),k)
    elif inp == nextt:
        k += 1
 
 
    N -= 1
if N == 0 :
    DS.append("В очереди никого нет")
    for i in range(len(DS) +1):
        print(DS)
1
-27 / 13 / 0
Регистрация: 29.12.2018
Сообщений: 214
03.01.2019, 17:48  [ТС]
у меня не работает, просто повторяется бесконечно и все, буду благодарен если объясните
0
 Аватар для soilz
2 / 1 / 1
Регистрация: 22.10.2018
Сообщений: 39
04.01.2019, 22:08
привет , основная мысль в том , что если у нас есть например 5 человек , и еще никого не приняли , то"только спросить едет первым ", если приняли одного , то k+=1 и следовательно "только спросить пойдет "пойдет только после него . ТЕ при слове "next" мы как будто делаем следующего первым надеюсь понятно объяснил
0
48 / 44 / 4
Регистрация: 09.12.2019
Сообщений: 27
23.12.2019, 16:23
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
n = int(input())
turn = []
for i in range(n):
    gogo = input()
    if 'Кто последний?' in gogo:
        go1 = gogo.split('-')
        d = len(go1[1])
        turn.append(go1[1][:d - 1])
    if 'Я только спросить!' in gogo:
        go1 = gogo.split('-')
        d = len(go1[1])
        surname = go1[1][:d - 1]
        turn.insert(0, surname)
    if gogo == 'Следующий!':
        if len(turn) == 0:
            print('В очереди никого нет.')
        else:
            print('Заходит' + turn[0] + '!')
            del turn[0]
0
 Аватар для Semen-Semenich
5226 / 3472 / 1174
Регистрация: 21.03.2016
Сообщений: 8,299
23.12.2019, 18:27
так сказать для примера (имена на русском для понятия так что не ругаться)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def последний(name):
    queue.append(name)
 
def спросить(name):
    queue.insert(0, name)
    
def cледующий(queue):
    if queue:
        return f'Заходит {queue.pop(0)}'
    return 'В очереди никого нет.'
 
dct_fun = {'Кто' : последний, 'Я' : спросить}
queue = []
 
for _ in range(int(input())):
    data = input().split()
    if len(data) > 1:
        dct_fun[data[0]](data[-1]) 
    else:
        print(cледующий(queue))
0
20 / 18 / 4
Регистрация: 04.03.2020
Сообщений: 20
27.12.2020, 09:44
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a = int(input())
b = []
for i in range(a):
    c = input()
    if c[:3] == 'Кто':
        b.append(c[19:len(c) - 1])
    elif c[:3] == 'Я т':
        b.reverse()
        b.append(c[23:len(c) - 1])
        b.reverse()
    elif c[:3] == 'Сле':
        if len(b) == 0:
            print('В очереди никого нет.')
        else:
            print('Заходит {}!'.format(b[0]))
            b = b[1:]
1
1 / 1 / 0
Регистрация: 07.01.2021
Сообщений: 1
07.01.2021, 22:09
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
last_name = []
last_name_question = []
answer = []
phrase1 = "Кто последний? Я -"
phrase2 = "Я только спросить! Я -"
phrase3 = "Следующий!"
for _ in range(int(input())):
    string = input()
    if phrase1 in string:
        last_name.append(string.split("-")[-1])
    elif phrase2 in string:
        last_name_question.append(string.split("-")[-1])
        last_name_question.reverse()
    elif not last_name and not last_name_question:
        print("В очереди никого нет.")
    elif phrase3 == string:
        if not last_name_question:
            l_m = last_name[0]
            print(f"Заходит{l_m[:len(l_m) - 1]}!")
            last_name = last_name[1:]
        else:
            l_m = last_name_question[0]
            print(f"Заходит{l_m[:len(l_m) - 1]}!")
            last_name_question = last_name_question[1:]
1
1 / 1 / 0
Регистрация: 29.07.2022
Сообщений: 6
03.12.2022, 23:56
Python
1
2
3
4
5
6
7
8
9
10
11
12
queue = []
for i in range(int(input())):
    task = input()
    if 'Кто последний?' in task:
        queue.append(task[19:-1])
    elif 'Я только спросить!' in task:
        queue.insert(0, task[23:-1])
    elif 'Следующий!' in task:
        if queue:
            print('Заходит ', queue.pop(0), '!', sep='')
        else:
            print('В очереди никого нет.')
0
12 / 11 / 3
Регистрация: 04.11.2024
Сообщений: 101
03.12.2024, 20:33
Добавлено через 20 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
lit = []
for i in range(int(input())):
    s = input()
    if 'Кто' in s:
        d = s[19:-1]
        sd = (f'Заходит {d}!')
        lit.append(sd)
    elif 'только' in s:
        d = s[23:-1]
        sd = (f'Заходит {d}!')
        lit.insert(0, sd)
    elif 'Следующий!' in s:
        if len(lit) != 0:
            print(*lit[0], sep='')
            lit.pop(0)
        else:
            print('В очереди никого нет.')
insert работает через одно место, как починить?

UPD: Тут в логике ошибка, ща починим

P.S. Починил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.12.2024, 20:33
Помогаю со студенческими работами здесь

Кто помнит когда был последний раз зеркальщик?
Кто помнит когда был последний раз зеркальщик?

Кто поможет доработать программу.Остался последний штрих(
Есть код программы.Программа удаляет,добавляет фигуры.:wall:Кто поможет сделать реакцию чтобы при нажатии на список Circle фигуры типа...

Кто последний редактировал документ (Журнал реггистрации - узнать ip адрес пользователя)
Добрый день уважаемые форумчане !!! прошу помощи у гуру ... есть база 7.7 на сервере rdp. Пользователи заходят через remoteapp. Кто...

Программа, сохраняющая информацию о том, кто работал с файлами на сервере (кто создал, кто редактировал, кто удалил)
Доброго времени суток. Есть сервер (windows), который хранит в общем доступе в локальной сети документы. Появилась необходимость в...

кто подскажет пожалуйста!!! Что в коде не так? Нужно поменять первый отрицательный и последний положительный в каждой строке!!!
Помогите Плиз(( type massiv=array of integer; const m=6; n=6; var I_otr, J_otr, I_poloj, J_poloj:integer; a:massiv; ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
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 и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru