- 100 студентов изучают и огненную, и ледяную магию
- Если студент изучает огненную магую, он будет изучать и ледяную
- 100 студентов изучают только огненную магию
- Нет ни одного студента, обучающегося обоим видам магии
Python
ОЧЕНЬ СРОЧНО!! Задача из тестирования по python, я не успеваю
В школе магов 350 студентов. 200 студентов изучают огененную магию, а 250 - ледяную. При этом изучение хотя бы одного из этих видов магии считается обязательным. Выберите верные утверждения:
(200 + 250) - 350 = 100 -> верно утверждение 1
200 - 100 = 100 -> верно утверждение 3
Причём здесь Python? Это простейшая задача из теории множеств - подраздела дискретной математики.
200 - 100 = 100 -> верно утверждение 3
Причём здесь Python? Это простейшая задача из теории множеств - подраздела дискретной математики.
Альберт Хасанов
Это задача была из тестирования по алгоритмизации по Python, в разделе алгоритмика. Я спешила, поэтому и указала Python. Спасибо за ответ!
Из условия задачи следует, что в школе магов 350 студентов, при этом 200 студентов изучают огненную магию, 250 - ледяную, а изучение хотя бы одного из этих видов магии считается обязательным. На основании этого можно сделать следующие выводы:
- 100 студентов изучают и огненную, и ледяную магию - это утверждение верно, так как если изучение хотя бы одного вида магии обязательно, то количество студентов, изучающих оба вида магии, не может быть меньше 100 (200 + 250 - 350).
- Если студент изучает огненную магию, он будет изучать и ледяную - это утверждение неверно, так как из условия задачи не следует, что изучение огненной магии обязательно влечет за собой изучение ледяной магии.
- 100 студентов изучают только огненную магию - это утверждение неверно, так как если изучение хотя бы одного вида магии обязательно, то количество студентов, изучающих только огненную магию, не может быть больше 150 (200 - 100).
- Нет ни одного студента, обучающегося обоим видам магии - это утверждение неверно, так как мы уже установили, что 100 студентов изучают и огненную, и ледяную магию.
students = set(range(1, 351))
fire_magic = set(range(1, 201))
ice_magic = set(range(151, 351))
both_magic = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} # пример, можно заменить на любой другой набор
only_fire_magic = fire_magic - both_magic
only_ice_magic = ice_magic - both_magic
assert len(both_magic) == 100
assert len(only_fire_magic) + len(only_ice_magic) + len(both_magic) == 350
assert len(only_fire_magic & only_ice_magic) == 0
Здесь мы создаем множества студентов, изучающих огненную магию, ледяную магию и оба вида магии. Затем мы вычитаем из множества студентов, изучающих огненную магию, тех, кто изучает оба вида магии, чтобы получить множество студентов, изучающих только огненную магию. Аналогично мы вычитаем из множества студентов, изучающих ледяную магию, тех, кто изучает оба вида магии, чтобы получить множество студентов, изучающих только ледяную магию. В конце мы проверяем, что все утверждения из задачи выполняются.
Альберт Хасанов
Благодарю!
23
Похожие вопросы
- СРОЧНО!!! Задача на python: "bf--"
- Задача Python! Срочно! Задача: Каждому минимуму свой максимум!
- Помогите, срочно Задача Python
- Python.Помогите пожалуйста!!! Очень тяжёлая задача!
- Помогите пожалуйста решить задачу "Ход конём" в Python.
- Помогите решить задачу в яндекс-практикуме Python
- Задача 1 Яндекс практика (Python)
- Задача «Ход слона» для Python
- Помогите решить задачу в яндекс-практикуме Python
- Срочно помогите решить задачки по Python