⚡️ Задачка с собеседования | #Easy
Условие:
Ваша задача на этот раз — просто написать функцию для просчёта факториала.
Пример:
factorial(10) -> 3628800
factorial(3) -> 6
factorial(1) -> 1
factorial(-1) -> 1
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача на этот раз — просто написать функцию для просчёта факториала.
Пример:
factorial(10) -> 3628800
factorial(3) -> 6
factorial(1) -> 1
factorial(-1) -> 1
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Динамически создаём классы
Думаю многие знают про функцию type, она возвращает тип объекта. Но что если я скажу вам, что с помощью неё можно создавать классы?
Тут функция принимает другие данные, это: первое — строка с названием класса, кортеж из типов, которые будут родителями и словарь из атрибутов будущего класса.
Как результат работы, мы получаем новый тип, с которым после можем взаимодействовать, например, создавая экземпляры.
Примечательно, что если вы попробуете взять атрибут
#теория
Думаю многие знают про функцию type, она возвращает тип объекта. Но что если я скажу вам, что с помощью неё можно создавать классы?
Тут функция принимает другие данные, это: первое — строка с названием класса, кортеж из типов, которые будут родителями и словарь из атрибутов будущего класса.
Как результат работы, мы получаем новый тип, с которым после можем взаимодействовать, например, создавая экземпляры.
Примечательно, что если вы попробуете взять атрибут
__class__
, то получите тип объекта.#теория
Что выведет код выше?
Anonymous Quiz
12%
[1, 5]
24%
[6]
15%
array([6])
15%
array([1, 5])
13%
Ошибку
21%
Узнать ответ
⚡️ Часто используемые методы в numpy
Numpy — это библиотека для выполнения математических операций. Она быстрее и имеет больше возможностей, чем Python по умолчанию.
• np.array — создаёт numpy массив из списка. np.zeros, np.ones, np.empty также создают массив, но заполняют его нулями, единицами, и случайными значениями.
• p.concatenate — соединяет несколько массивов в один. Принимает кортеж из массивов. Также можно передать axis, который будет считать, в каком направлении их нужно соединять.
• arr.reshape — преобразует форму arr в переданный аргумент. Какая форма установлена сейчас, можно посмотреть, написав arr.shape.
#миниурок #numpy
Numpy — это библиотека для выполнения математических операций. Она быстрее и имеет больше возможностей, чем Python по умолчанию.
• np.array — создаёт numpy массив из списка. np.zeros, np.ones, np.empty также создают массив, но заполняют его нулями, единицами, и случайными значениями.
• p.concatenate — соединяет несколько массивов в один. Принимает кортеж из массивов. Также можно передать axis, который будет считать, в каком направлении их нужно соединять.
• arr.reshape — преобразует форму arr в переданный аргумент. Какая форма установлена сейчас, можно посмотреть, написав arr.shape.
#миниурок #numpy
⚡️ Задачка с собеседования | #Easy
Условие:
Ваша задача — написать функцию, которая проверяет, является ли число простым.
Простые числа — числа, которые делятся нацело только на единицу и на само себя.
Пример:
is_prime_number(1) -> True
is_prime_number(2) -> True
is_prime_number(9) -> False
is_prime_number(117) -> False
is_prime_number(127) -> True
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая проверяет, является ли число простым.
Простые числа — числа, которые делятся нацело только на единицу и на само себя.
Пример:
is_prime_number(1) -> True
is_prime_number(2) -> True
is_prime_number(9) -> False
is_prime_number(117) -> False
is_prime_number(127) -> True
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Что такое метаклассы?
Метакласс — это класс для создания типов. Помните, ранее мы писали про type? Так вот, вы можете создать свою реализацию этого объекта.
Метакласс задаётся при создании класса — для этого в скобочках необходимо написать
На примере выше мы просто переводим все атрибуты в нижний регистр при создании класса.
Стоит добавить, что метаклассы — это вещь, которая не особо часто используется и необходима людям, которые действительно знают, что с этим делать.
Поэтому если вы новичок и ничего не поняли, то ничего страшного.
#миниурок #метаклассы
Метакласс — это класс для создания типов. Помните, ранее мы писали про type? Так вот, вы можете создать свою реализацию этого объекта.
Метакласс задаётся при создании класса — для этого в скобочках необходимо написать
metaclass=MetaClassType
.На примере выше мы просто переводим все атрибуты в нижний регистр при создании класса.
Стоит добавить, что метаклассы — это вещь, которая не особо часто используется и необходима людям, которые действительно знают, что с этим делать.
Поэтому если вы новичок и ничего не поняли, то ничего страшного.
#миниурок #метаклассы
⚡️ Визуализируем инфорацию
В этот раз поговорим о библиотеке bokeh, которая помогает строить графики особых знаний.
Установка:
На примере выше мы берём информацию (она взята из SteamDB), создаём фигуру и заполняем её информацией, а с помощью show выводим данные в html и открываем в браузере.
Почитать ещё больше об этом можно на сайте документации.
В этот раз поговорим о библиотеке bokeh, которая помогает строить графики особых знаний.
Установка:
pip install bokeh
Модуль позволяет составлять множество графиков и переводит всё это в html. После этого вы можете взаимодействовать с ними и, например, экспортировать изображение из браузера.На примере выше мы берём информацию (она взята из SteamDB), создаём фигуру и заполняем её информацией, а с помощью show выводим данные в html и открываем в браузере.
Почитать ещё больше об этом можно на сайте документации.
⚡️ Задачка с собеседования | #Easy
Условие:
Ваша задача — написать функцию, которая проверяет синтаксис калькулятора. То есть обычные действия +. -, /, * и скобки
Пример:
check_syntax("( 1 + 2 )") -> True
check_syntax("( 1 + )") -> False
check_syntax("1 + -22") -> True
check_syntax("(1 + -22") -> False
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая проверяет синтаксис калькулятора. То есть обычные действия +. -, /, * и скобки
Пример:
check_syntax("( 1 + 2 )") -> True
check_syntax("( 1 + )") -> False
check_syntax("1 + -22") -> True
check_syntax("(1 + -22") -> False
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Выводим красивые ошибки
pretty_errors — модуль, редактирующий вывод исключений.
В нём нет необходимости, но таким образом ошибки легче читаются, воспринимаются и уменьшается риск случайного уничтожения, например, вашей клавиатуры.
Установка:
При запуске любого python файла и появлении ошибки запустится pretty_errors, и вы получите отредактированный вывод, как на примере выше.
#миниурок #pretty_errors
pretty_errors — модуль, редактирующий вывод исключений.
В нём нет необходимости, но таким образом ошибки легче читаются, воспринимаются и уменьшается риск случайного уничтожения, например, вашей клавиатуры.
Установка:
pip install pretty_errors
После установки необходимо написать python -m pretty_errors
. Программа задаст парочку вопросов, необходимых для работы модуля. Если вы не знаете, что отвечать, просто нажимайте enter.При запуске любого python файла и появлении ошибки запустится pretty_errors, и вы получите отредактированный вывод, как на примере выше.
#миниурок #pretty_errors
⚡️ Создаём диаграммы прямо внутри python
Диаграммы помогают легче описать команде архитектуру приложения, а в этом поможет модуль diagrams.
Установка:
Потом мы импортируем типы из diagrams.aws (весь список можно посмотреть тут). После — создаём между ними связи с помощью побитового смещения (<<, >>) и символа "-". Подробнее в той же ссылке.
Если вам интересно, вот ещё парочка примеров с официального сайта.
Диаграммы помогают легче описать команде архитектуру приложения, а в этом поможет модуль diagrams.
Установка:
pip install diagrams
Первым делом необходимо импортировать класс Diagram. Поскольку он работает с файлом (создаёт изображение с диаграммой), то необходимо закрывать класс после работы. Удобнее всего это делать с помощью with.Потом мы импортируем типы из diagrams.aws (весь список можно посмотреть тут). После — создаём между ними связи с помощью побитового смещения (<<, >>) и символа "-". Подробнее в той же ссылке.
Если вам интересно, вот ещё парочка примеров с официального сайта.
⚡️ Задачка с собеседования | #Easy
Условие:
Ваша задача — написать функцию, которая просчитывает счёт игроков и определяет, кто победил. На вход идёт войско двух команд (два аргумента) в виде списка.
Каждое войско даёт разную силу. Воин — 1, лучник — 2, Гигант — 5, волшебник — 10. Тип героя зависит от индекса. Функция возвращает текст с победившей командой или ничью, если счёт равен.
Пример:
who_won([1, 1, 1, 1], [1, 1, 1, 1]) -> Ничья
who_won([1, 1, 1, 0], [0, 0, 1, 1]) -> Команда2 победила
who_won([6, 4, 3, 1], [12, 0, 0, 1]) -> Команда1 победила
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая просчитывает счёт игроков и определяет, кто победил. На вход идёт войско двух команд (два аргумента) в виде списка.
Каждое войско даёт разную силу. Воин — 1, лучник — 2, Гигант — 5, волшебник — 10. Тип героя зависит от индекса. Функция возвращает текст с победившей командой или ничью, если счёт равен.
Пример:
who_won([1, 1, 1, 1], [1, 1, 1, 1]) -> Ничья
who_won([1, 1, 1, 0], [0, 0, 1, 1]) -> Команда2 победила
who_won([6, 4, 3, 1], [12, 0, 0, 1]) -> Команда1 победила
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования