Задание с собеседования в крупный маркетплейс
Как много из вас знакомы с классами в Python? А вы знали, что их тоже спрашивают на собеседованиях на аналитиков? Сегодня предлагаю одну из таких задачек:
Дан список пар вида: [["a", 0.1], ["b", 0.2], ["c", 0.7]]. В парах первый элемент — некоторый уникальный объект, второй элемент — его вероятность.
Нужно написать класс, принимающий указанный массив в конструкторе. Класс должен содержать метод sample(). Этот метод должен возвращать случайный объект из массива с заданными вероятностями.
Т.е. в примере выше в 10% случаев метод должен возвращать "a", в 20% случаев — "b", и в 70% случаев — "c".
Жду ваши решения в комментариях. Постарайтесь не просто написать работающий код, но и сделать его максимально простым и читаемым.
Как много из вас знакомы с классами в Python? А вы знали, что их тоже спрашивают на собеседованиях на аналитиков? Сегодня предлагаю одну из таких задачек:
Дан список пар вида: [["a", 0.1], ["b", 0.2], ["c", 0.7]]. В парах первый элемент — некоторый уникальный объект, второй элемент — его вероятность.
Нужно написать класс, принимающий указанный массив в конструкторе. Класс должен содержать метод sample(). Этот метод должен возвращать случайный объект из массива с заданными вероятностями.
Т.е. в примере выше в 10% случаев метод должен возвращать "a", в 20% случаев — "b", и в 70% случаев — "c".
Жду ваши решения в комментариях. Постарайтесь не просто написать работающий код, но и сделать его максимально простым и читаемым.