⚡️ Задачка с собеседования | #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 победила
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Оптимизируем математические операции
Theano — модуль, позволяющий выполнять математические операции. В основном он помогает работать с матрицей гораздо быстрее, чем Python по умолчанию.
Установка:
На примере выше я создал простую функцию сигмоиды. На вход она принимает матрицу, на выход — то же самое.
Если вам нужно, чтобы на вход была одна единственная переменная, тогда поменяйте
#миниурок #theano
Theano — модуль, позволяющий выполнять математические операции. В основном он помогает работать с матрицей гораздо быстрее, чем Python по умолчанию.
Установка:
pip install theano
Его основные преимущества: интеграция с numpy, использование GPU, скорость выполнения, стабильность и даже динамическая генерация кода на C.На примере выше я создал простую функцию сигмоиды. На вход она принимает матрицу, на выход — то же самое.
Если вам нужно, чтобы на вход была одна единственная переменная, тогда поменяйте
dmatrix
на dscalar
.#миниурок #theano
👍1
🤔1
⚡️ Быстро поднимаем http сервер
Время от времени появляется необходимость в быстрой передаче файлов с одного ПК на другой в локальной сети.
В таком случае можно поднять сервер на машине с Python. Для этого, нужно зайти в папку с файлами и набрать в консоле
Если таким способом загрузить файл с другого ПК не получается, проверьте, правильный вы ввели ip-адрес (вместо 0.0.0.0 должен быть ваш ip в сети) и порт.
Всё правильно? Тогда, возможно, ваш брандмауэр, блокирует запросы — исправить это совсем не трудно.
Этот модуль вы можете так же использовать и в скриптах. Подробнее — в документации.
Время от времени появляется необходимость в быстрой передаче файлов с одного ПК на другой в локальной сети.
В таком случае можно поднять сервер на машине с Python. Для этого, нужно зайти в папку с файлами и набрать в консоле
python3 -m http.server
.Если таким способом загрузить файл с другого ПК не получается, проверьте, правильный вы ввели ip-адрес (вместо 0.0.0.0 должен быть ваш ip в сети) и порт.
Всё правильно? Тогда, возможно, ваш брандмауэр, блокирует запросы — исправить это совсем не трудно.
Этот модуль вы можете так же использовать и в скриптах. Подробнее — в документации.
⚡️ Задачка с собеседования | #Easy
Условие:
Ваша задача — написать функцию, которая сортирует словарь по убываю на основе значения.
Пример:
sort_dict({"1": 1, "2": 2, "3": 3}) -> {"3": 3, "2": 2, "1": 1}
sort_dict({"obj": 8, 1: 11, "6": 4}) -> {1: 11, "obj": 8, "6": 4}
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая сортирует словарь по убываю на основе значения.
Пример:
sort_dict({"1": 1, "2": 2, "3": 3}) -> {"3": 3, "2": 2, "1": 1}
sort_dict({"obj": 8, 1: 11, "6": 4}) -> {1: 11, "obj": 8, "6": 4}
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Извлекаем данные с веб сайтов
Scrapy — это фреймворк с открытым исходным кодом, позволяющий быстрым и простым способом собирать данные с необходимых сайтов.
Установка:
Запускать скрипт необходимо с помощью
Что бы избавится от логов, можете перенаправить их в файл --
#миниурок #scrapy
Scrapy — это фреймворк с открытым исходным кодом, позволяющий быстрым и простым способом собирать данные с необходимых сайтов.
Установка:
pip install scrapy
Первым делом необходимо создать наследника от scrapy.Spider. В нём вы задаёте ссылки и реализуете метод parse, который обрабатывает результаты запроса. Запускать скрипт необходимо с помощью
scrapy runspider srappy_file.py
, в результате чего вы получите огромный вывод работы фреймворка.Что бы избавится от логов, можете перенаправить их в файл --
logfile=log_file_name.txt
или --nolog
для полного их отключения (не рекомендуется). А чтобы отделить логи от данных парсинга, добавьте в опции -o output_file.json
.#миниурок #scrapy
Что выведет код выше?
Anonymous Quiz
9%
(1, [6, 4], 3)
46%
(1, [2, 4], 3)
6%
(1, [6, 2], 3)
39%
Ошибку
⚡️ Создаём асинхронные запросы
В этом нам поможет фреймворк aiohttp.
Установка:
Модуль позволяет создавать клиенты, HTTP-серверы и даже поддерживает серверные и клиентские веб-сокеты. Веб сервера имеют Middlewares, сигналы и подключаемую маршрутизацию.
Также на сайте есть небольшая информация для пользователей requests.
Пример на картинке выше взят с официального сайта, а больше информации можно найти тут.
В этом нам поможет фреймворк aiohttp.
Установка:
pip install aiohttp
Для более быстрой работы DNS запросов стоит установить aiodns: pip install aiodns
.Модуль позволяет создавать клиенты, HTTP-серверы и даже поддерживает серверные и клиентские веб-сокеты. Веб сервера имеют Middlewares, сигналы и подключаемую маршрутизацию.
Также на сайте есть небольшая информация для пользователей requests.
Пример на картинке выше взят с официального сайта, а больше информации можно найти тут.
⚡️ Задачка с собеседования | #Medium
Условие:
Ваша задача — написать функцию, которая переводит число в время в читабельном виде. Вы можете быть уверены, что число будет не меньше 0 и не больше 8639999.
Число необходимо перевести в день, часы, минуты и секунды. Ну и дополнительной задачей является — забота о выводе. Слово "день" подбирается на основе кол-ва дней, а часы, минуты и секунды должны заполняться нулями при одноцифровых значениях.
Пример:
to_readable(0) -> 0 дней, 00:00:00
to_readable(224930) -> 2 дня, 14:28:50
to_readable(466289) -> 5 дней, 09:31:29
to_readable(8639999) -> 99 дней, 23:59:59
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая переводит число в время в читабельном виде. Вы можете быть уверены, что число будет не меньше 0 и не больше 8639999.
Число необходимо перевести в день, часы, минуты и секунды. Ну и дополнительной задачей является — забота о выводе. Слово "день" подбирается на основе кол-ва дней, а часы, минуты и секунды должны заполняться нулями при одноцифровых значениях.
Пример:
to_readable(0) -> 0 дней, 00:00:00
to_readable(224930) -> 2 дня, 14:28:50
to_readable(466289) -> 5 дней, 09:31:29
to_readable(8639999) -> 99 дней, 23:59:59
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
👍1