Simulative – Telegram
7.39K subscribers
1.7K photos
70 videos
1 file
1.26K links
Привет! Мы — образовательная платформа в сфере аналитики Simulative: simulative.ru

Создаём курсы-симуляторы, где обучаем не на «апельсинках», а на кейсах из реального бизнеса.

Наш уютный чат: @itresume_chat
Поддержка: @simulative_support
Download Telegram
​​👨‍💻Какой IDE Вы пользуетесь?

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

Посмотрим, какая IDE среди наших подписчиков пользуется большей популярностью!

Если у Вас несколько фаваритов, выбирайте всех) Борьба должна быть честной 💪🏻

А если вашего любимчика нет в списке, тогда пишите в комментариях!
​​Рубрика «Вопросы с собеседований» 💥

Функциональное программирование в Python?

Ответ:

ЧТО ТАКОЕ ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ

Для начала ответим на вопрос, что вообще такое функциональное программирование.

Функциональное программирование (ФП) - парадигма программирования, где основной операцией является вычисление результата той или иной функции. Т.е. любое действие с объектом, даже самое сложное, сводится к последовательному применению различных функций и получению итогового результата.

Другим словами, в парадигме ФП работа программы сводится к вычислению разных функций.

Стоит отметить, что в Python эта парадигма используется не очень часто. Однако, во многих задачах полезно ее использовать и на базовом уровне стоит ей владеть.

Вот несколько пунктов, которые делают возможным применять ФП в Python:

✓ Функцию можно передавать в качестве аргумента в другую функцию
✓ Функцию можно возвращать в качестве результата из другой функции
✓ Функции можно задавать анонимно (лямбда-функции), без определения имени

Эти способности языка Python дают возможность нам удобно применять много функций последовательно, а также не загрязнять код с помощью лямбда-функций.

ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ В PYTHON

Самые популярные примеры использования парадигмы ФП в Python - функции map, reduce и filter.

✓ Функция map(<f>, <iterable>) применяет функцию f ко всем элементам итерируемого объекта iterable. Функция возвращает итератор. Чтобы сделать список, надо использовать list:


 animals = ["cat", "dog", "hedgehog", "gecko"]
res = list(map(reverse, animals))
res
#['tac', 'god', 'gohegdeh', 'okceg']

✓ Функция filter(<f>, <iterable>) применяет функцию f ко всем элементам iterable и возвращает только те элементы, для которых результат f является true. Результатом также является итератор.


 list(filter(lambda x: x > 100, [1, 111, 2, 222, 3, 333]))
# [111, 222, 333]

✓ Функция reduce(<f>, <iterable>) последовательно применяет функцию f к элементам iterable. Функция возвращает итератор.

 from functools import reduce
reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
# 15

В данном примере функция reduce последовательно складывает числа, а следующее число добавляет к результату. Т.е.:

  1 + 2 = 3
3 + 3 = 6
6 + 4 = 10
10 + 5 = 15

Узнать еще больше про парадигму функционального программирования в Python можно здесь: https://vk.cc/bZwH0M

#interview_problems #python
🔥 Python vs R

Между программистами идет вечное противостояние - какой язык выбрать: R или Python? Отвечаем - оба!

А чтобы Вам легче было использовать 2 языка одновременно, вместе с R4marketing подготовили для Вас шпаргалку.

В карточках разбираем основные функции и понятия, необходимые для обработки данных. Причем сразу на 2 языках 🤤

Осталось применить на практике 😎

#python #rstat #cheatsheet
​​GROK IT!

Задача по Математике:

Что более вероятно выиграть у равносильного противника: не менее двух партий из трёх или не более одной из двух?

Правильный ответ раскроем завтра 😏

#itresume #grokit #math
​​💥 Набор инструментов, чтобы сделать аналитику на R максимально комфортной

Вы уже готовы выучить R после вчерашнего поста "R vs Python"?

Вместе с Типичный программист мы разобрали основные инструменты, которые сделают аналитику с помощью R эффективной и комфортной!

Приятного чтения 😊

#itresume
​​GROK IT! Ответ на задачу о вероятности выигрыша 🔔

Вчера опубликовали вопрос: Что более вероятно выиграть у равносильного противника: не менее двух партий из трёх или не более одной из двух?

» Не менее 2 партий из 3
» Не более 1 из 2
» Одинаковая вероятность

Ответ: Не более одной из двух

💥 Объяснение:

В нашей задаче есть некое событие (выигрыш партии), которое может случиться (а может не случиться) некоторое число раз (один выигрыш, два выигрыша...) из общего числа сыгранных партий.

Чтобы решить задачу, нам надо сравнить две вероятности: выиграть не менее 2 партии из 3 (т.е. либо 2, либо 3 партии) или не более 1 из 2 (либо 1 партию, либо 0). "Равносильность" противника говорит о том, что вероятность выигрыша составляет 50%.

Для решения мы воспользуемся формулой Бернулли - она позволяет находить вероятность появления события А определенное количество раз из любого количества попыток.

В нашем примере событие А - выигрыш; вероятность выигрыша (p) - 0,5; количество попыток (n) - общее количество партий; вероятность проигрыша (q) = 1 - 0,5 = 0,5; количество выигранных партий - k.

Формула Бернулли:

P (вероятность) = C(n, k) p^k q^(n-k)

C(n,k) - количество сочетаний из n по k (базовый термин комбинаторики).

Таким образом, вероятности можно рассчитать так.

Вероятность выиграть не менее 2 партий из 3: C(3, 2)0.5^20.5^(3-2) + C(3, 3)0.5^30.5^(3-3) = 0.5

Вероятность выиграть не более 1 партии из 2: C(2, 0)0.5^00.5^(2-0) + C(2, 1)0.5^10.5^(2-1) = 0.75

P2 > P1, а значит выиграть не более 1 партии из 2 - более вероятное событие.

❗️Таким образом, правильный ответ - Не более 1 из 2.

Подробнее о биномиальном распределении и геометрическом распределении читайте здесь -> bit.ly/2KSsM7k

#grokit #math
🗓 Какая самая красивая дата в году?!

Правильно, 14.03 или, как принято в Америке, 3.14! Догадались, почему это самая красивая дата?

Поздравляем Вам с днем числа Пи, друзья! 🎉

Мы подготовили для Вас 7 интересных фактов о самом загадочном числе, в котором, возможно, скрыты все тайны мироздания! 🔮