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

Выполнить условия задачи

22.10.2022, 00:27. Показов 1052. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В вагоне-купе имеется некоторое количество купе, в каждом из которых по 4 места. Разработчик хранит информацию о занятости одного купе в виде словаря:

{1: 'м', 2: None, 3: None, 4: 'ж'}
где:

ключ определяет номер места (нечетные номера - нижние места, четные - верхние);

значение может быть одно из трех: None, "м" и "ж", если место не занято, занято мужчиной или женщиной соответственно.

Информация о занятости всего вагона хранится как список указанных словарей.

Определите:

список полностью свободных купе;

список свободных мест в вагоне;

список свободных нижних или верхних мест;

список свободных мест в купе с исключительно мужской компанией;

список свободных мест в купе с исключительно женской компанией.

Заготовка кода:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
data = [
    {1: 'м', 2: 'м', 3: 'м', 4: 'ж'},
    {1: 'ж', 2: 'м', 3: 'ж', 4: 'ж'},
    {1: 'ж', 2: 'ж', 3: 'ж', 4: 'ж'},
    {1: 'м', 2: 'м', 3: 'м', 4: 'м'},
    {1: None, 2: None, 3: None, 4: None},
    {1: 'м', 2: None, 3: None, 4: 'ж'},
    {1: None, 2: None, 3: None, 4: None},
    {1: 'м', 2: 'м', 3: None, 4: 'м'},
    {1: 'ж', 2: None, 3: None, 4: 'ж'}
]
 
 
def vacant_compartments(data):
    """Вернуть список полностью свободных купе. Нумерация купе идет с 1.
 
    Параметры:
        - data (list of dict): данные о занятости мест в вагоне.
 
    Результат:
        list of int."""
    # Удалите комментарий и допишите код
 
 
def vacant_seats(data, compartments_condition=None, seat_condition=None):
    """Вернуть список свободных мест при соблюдении условий
    'compartments_condition' и 'seat_condition'.
    Нумерация купе и мест идет с 1.
 
    Параметры:
        - data (list of dict): данные о занятости мест в вагоне;
        - compartments_condition (function):
          функция c 1 параметром (словарь - купе), возвращающая True/False;
        - seat_condition (function):
          функция c 2 параметрами (номер места, значение),
          возвращающая True/False.
 
    Результат:
        list of tuple: список кортежей вида (номер купе, номер места)."""
    # Удалите комментарий и допишите код
 
 
def is_same_sex_and_vacant(compartment, sex):
    """Вернуть True, если в купе 'compartment' есть свободные места,
    а остальные пассажиры только пола 'sex'.
 
    Параметры:
        - compartment (dict): данные о купе;
        - sex (str): пол ("м" или "ж").
 
    Результат:
        bool."""
    # Удалите комментарий и допишите код
 
 
# список полностью свободных купе
# Удалите комментарий и допишите код
# список свободных мест в вагоне
print(vacant_seats(data))
# список свободных нижних мест
print(vacant_seats(data, seat_condition=lambda seat, value: seat % 2 != 0))
# список свободных верхних мест
# Удалите комментарий и допишите код
# список свободных мест в купе с исключительно мужской компанией
print(vacant_seats(data, lambda x: is_same_sex_and_vacant(x, "м")))
# список свободных мест в купе с исключительно женской компанией
# Удалите комментарий и допишите код
 
 
# --------------
# Пример вывода:
#
# [5, 7]
# [(5, 1), (5, 2), (5, 3), (5, 4), (6, 2), (6, 3), (7, 1), (7, 2), (7, 3),
#  (7, 4), (8, 3), (9, 2), (9, 3)]
# [(5, 1), (5, 3), (6, 3), (7, 1), (7, 3), (8, 3), (9, 3)]
# [(5, 2), (5, 4), (6, 2), (7, 2), (7, 4), (9, 2)]
# [(8, 3)]
# [(9, 2), (9, 3)]
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2022, 00:27
Ответы с готовыми решениями:

Не понимаю условия задачи
Здравствуйте друзья, прошу помощи, не могу понять условия задачи Условие Август и Беатриса продолжают играть в игру, но Август начал...

Не понятна условия задачи новичок
Вообщем может я именно условия задачи не верно понимаю, тогда покажите где я не верно ее воспринимаю. вот ссылка на само условия...

Как выполнить условия?
postcode = input('Введите индекс: ') elif option2 == 2: # input social links ...

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

Задачи на простые условия и циклы
Вася и Петя участвуют в командной олимпиаде по программированию. Они решили N задач. Если номер задачи начинается с цифры 1, это простая...

Задачи на простые условия и циклы
Василий, разбогатев на кирпичном бизнесе, решил открыть счёт в банке. 1 марта он положил на свой счёт 1000 рублей. Каждый месяц размер...

Как выполнить условия IF
Есть триггер: который выполняется при обновлении F_Status AND @F_Status_New != @F_Status_Old. Как добавить еще одно условие, (прим.: IF...

Как выполнить два условия в C#?
Как сделать так чтобы скрипт срабатывал если верны два условия? if ( первое условие && и здесь мне нужно проверять текст, но я...

Дано натуральное число и выполнить 4 условия
Дано натуральное число. а) Определить, есть ли в нем цифра a. б) Верно ли, что в нем нет цифры b? в) Верно ли, что цифра a...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
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
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru