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

Задача "Собеседование"

20.04.2023, 22:55. Показов 10332. Ответов 1
Метки нет (Все метки)

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

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

Собеседование включает 2 этапа: претенденту выдается задание, затем он идет его выполнять, представляет результат и защищает его; потом претенденту дается 5 единиц времени отдохнуть; затем такие же действия проводятся для второго задания, кроме отдыха, разумеется.

Напишите асинхронную функцию interviews(), которая принимает произвольное число претендентов – кортежей вида:
(имя, время на подготовку 1 задания, время на защиту 1 задания, время подготовки 2 задания, время на защиту второго задания)

Функция должна для каждого задания каждого претендента вывести строки:
при начале выполнения задания – <имя> started the <N> task.
при переходе к защите – <имя> moved on to the defense of the <N> task.
при окончании выполнения задания – <имя> completed the <N> task.
при начале отдыха перед вторым заданием – <имя> is resting.

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

Пример
Ввод
Python
1
2
3
4
data = [('Ivan', 5, 2, 7, 2), ('John', 3, 4, 5, 1), ('Sophia', 4, 2, 5, 1)]
t0 = time.time()
asyncio.run(interviews(*data))
print(time.time() - t0)
Вывод
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Ivan started the 1 task.
John started the 1 task.
Sophia started the 1 task.
John moved on to the defense of the 1 task.
Sophia moved on to the defense of the 1 task.
Ivan moved on to the defense of the 1 task.
Sophia completed the 1 task.
Sophia is resting.
Ivan completed the 1 task.
Ivan is resting.
John completed the 1 task.
John is resting.
Sophia started the 2 task.
Ivan started the 2 task.
John started the 2 task.
Sophia moved on to the defense of the 2 task.
Ivan moved on to the defense of the 2 task.
Sophia completed the 2 task.
John moved on to the defense of the 2 task.
Ivan completed the 2 task.
John completed the 2 task.
0.21059226989746094
Примечания
Для более быстрой работы программы поделите все времена ожидания на 100.

Добавлено через 57 секунд
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
31
32
33
34
import os
import time
import asyncio
from datetime import datetime
 
COEFF = 1
 
 
async def dish(el):
    print(f"{el[0]} started the 1 task.")
    await asyncio.sleep(el[1] / 100)
    print(f"{el[0]} moved on to the defense of the 1 task.")
    await asyncio.sleep(el[2] / 100)
    print(f"{el[0]} completed the 1 task.")
    print(f"{el[0]} is resting.")
    await asyncio.sleep(5 / 100)
    print(f"{el[0]} started the 2 task.")
    await asyncio.sleep(el[3] / 100)
    print(f"{el[0]} moved on to the defense of the 2 task.")
    await asyncio.sleep(el[4] / 100)
    print(f"{el[0]} completed the 2 task.")
 
 
async def interviews(*data):
    tasks = [
        asyncio.create_task(dish(i)) for i in data
    ]
    await asyncio.gather(*tasks)
 
 
if __name__ == '__main__':
    t0 = time.time()  # запоминаем время начала работы
    if os.name == 'nt':
        asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

Есть более короткое решение ?
2
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2023, 22:55
Ответы с готовыми решениями:

Задача на собеседование!
Очень прошу помочь решить задачу: 1) есть 2 процесса. Исполняемый файл один, который запускается из командной строки с параметром...

Собеседование
Должен знать либо python, либо java, либо javascript. Возраст от 18 до 65. Опыт от 3х лет. Зарплата до 60000. Вывести результат, подходит...

Собеседование
Здравствуйте! Какие вопросы могут задавать по базам данных на должность Trainee Android Developer? Что, минимум, следует знать по базам...

1
0 / 0 / 0
Регистрация: 22.04.2025
Сообщений: 1
22.04.2025, 05:05
можно/
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
async def do_task(name, *args):
    coef = .01
    it = iter(args)
 
    for i, (a, b) in enumerate(zip(it, it), 1):
        print(f'{name} started the {i} task.')
        await asyncio.sleep(coef * a)
        print(f"{name} moved on to the defense of the {i} task.")
        await asyncio.sleep(coef * b)
        print(f"{name} completed the {i} task.")
        if i < 2:
            print(f"{name} is resting.")
            await asyncio.sleep(coef * 5)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.04.2025, 05:05
Помогаю со студенческими работами здесь

Собеседование
Привет. Записался на бесплатный курс по языку Питон. В заявке нужно было указать знание английского, HTML, CSS, других ЯП. В ответ пришло,...

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

Собеседование
Приветствую. Может ли кто-то подсказать, какие знания и навыки необходимы по си шарп для устройства джуниором в какую-нибудь контору. ...

собеседование
Здраствуйте! настал момент, когда я решил устроиться программистом. Но опыт работы у меня только с железками и проводами(работаю в интернет...

Собеседование 23.06.17
1. Дана строка символов ( и ). Определить является ли она корректной скобочным выражением. Определить максимальную глубину вложенности...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru