14 / 14 / 1
Регистрация: 19.03.2020
Сообщений: 26
1

Айболит 2.0

20.03.2020, 19:30. Показов 12795. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Модифицируйте функцию hello(name), которая принимает на вход имя пациента. Теперь она должна проверять наличие свободных окон и если такое есть писать сообщение "Здравствуйте, <имя>! Подойдите к окошку номер <номер окна>" и занять окно данным пациентом. Если свободных окон нет, то должно выводиться сообщение "Простите, <name>. Все окна заняты"
Модифицируйте функцию search_card(name), которая принимает на вход имя пациента. Теперь она перед поиском карты должна проверять обслуживается ли данный пациент в настоящий момент. Если нет, то выводить сообщение "Простите, <имя>, дождитесь своей очереди", иначе проводить поиск карты и выводить те же сообщения, что и в предыдущей версии программы.
Напишите функцию good_bye(name), которая тоже принимает на вход имя пациента, и, если он обслуживается в настоящее время, выводит - "До свидания, не болейте, <имя>", и освобождает окошко, в котором обслуживался данный пациент. Иначе выводит сообщение "Простите, <имя>, дождитесь своей очереди".

Список имён пациентов, пронумерованный с 1, находится в списке base, который является глобальным. Номер пациента соответствует номеру карты. Список окон (нумерация также с единицы) находится в глобальном списке query, где значение элемента None говорит о том, что окошко с соответствующим индексом свободно и готово обслуживать следующего клиента.

Пример
Ввод Вывод
base = ["Иван", "Юлия Иванкова"]
query = [None, None, None]

hello("Иван")
search_card("Иван")
hello("Юлия Иванова")
search_card("Юлия Иванова")

Здравствуйте, Иван! Подойдите к окошку номер 1
Ваша карта с номером 1 найдена
Здравствуйте, Юлия Иванова! Подойдите к окошку номер 2
Ваша карта не найдена
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2020, 19:30
Ответы с готовыми решениями:

Айболит
Напишите функцию hello(name), которая принимает на вход имя пациента, приветствует его и сообщает,...

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

Айболит - 2
Модифицируйте функцию hello(name), которая принимает на вход имя пациента. Теперь она должна...

Айболит 2.0
Предыдущее решение по автоматизации клиники Айболита не принесло свои плоды. Многие посетители...

4
14 / 14 / 1
Регистрация: 19.03.2020
Сообщений: 26
24.03.2020, 21:37  [ТС] 2
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
def hello(name):
    global query
    if None in query:
        a = query.index(None)
        query[a] = name
        print(f'Здравствуйте, {name}! Подойдите к окошку номер {a + 1}')
    else:
        print(f'Простите, {name}. Все окна заняты')
 
 
def search_card(name):
    if name in query:
        if name in base:
            print(f'Ваша карта с номером {base.index(name) + 1} найдена')
        else:
            print('Ваша карта не найдена')
    else:
        print(f'Простите, {name}, дождитесь своей очереди')
 
 
def good_bye(name):
    global query
    print(f'До свидания, не болейте, {name}')
    query[query.index(name)] = None
3
Эксперт Python
691 / 474 / 204
Регистрация: 22.03.2020
Сообщений: 1,052
24.03.2020, 21:49 3
fsdjfj, Это вы уже сами решили? Или вам нужно что-то тут объяснить?
0
14 / 14 / 1
Регистрация: 19.03.2020
Сообщений: 26
24.03.2020, 21:52  [ТС] 4
Сам
0
3 / 3 / 0
Регистрация: 31.12.2023
Сообщений: 18
09.04.2024, 09:52 5
Вот моё решение к задаче Айболит:

Python
1
2
3
4
5
6
7
8
9
10
def hello(name):
    print(f"Здравствуйте, {name}! Вашу карту ищут...")
 
 
def search_card(name):
    if name in base:
        card_number = base.index(name) + 1
        print(f"Ваша карта с номером {card_number} найдена")
    else:
        print("Ваша карта не найдена")




А вот моё решение к задаче Айболит 2.0:

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
def hello(name):
    global query
    if None in query:
        window_number = query.index(None) + 1
        print(f"Здравствуйте, {name}! Подойдите к окошку номер {window_number}")
        query[window_number - 1] = name
    else:
        print(f"Простите, {name}. Все окна заняты")
 
 
def search_card(name):
    global base, query
    if name in query:
        print("Простите, {}, дождитесь своей очереди".format(name))
    else:
        if name in base:
            card_number = base.index(name) + 1
            print(f"Ваша карта с номером {card_number} найдена")
        else:
            print("Ваша карта не найдена")
 
 
def good_bye(name):
    global query
    if name in query:
        window_number = query.index(name) + 1
        print(f"До свидания, не болейте, {name}")
        query[window_number - 1] = None
    else:
        print(f"Простите, {name}, дождитесь своей очереди")
0
09.04.2024, 09:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2024, 09:52
Помогаю со студенческими работами здесь

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

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

Айболит
Напишите функцию hello(name), которая принимает на вход имя пациента, приветствует его и сообщает,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru