Pythonist.ru - образование по питону
25.5K subscribers
91 photos
1 video
956 links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Книги
3. Задачи на логику
4. Проект Эйлера
5. Видео
6. Тесты по Python 3

@aldrson
Download Telegram
Django. Аутентификация в Django-REST с помощью Auth.js

В этом уроке рассматривается реализация системы аутентификации на основе Django REST (с помощью Django REST Framework) и ее интеграция с Auth.js (ранее известным как NextAuth.js) во фронтенде. Мы разберем настройку аутентификации на основе учетных данных, а также аутентификацию с помощью Google.

#django
Задача для новичков

Уродливое число — это положительное целое число, простыми множителями которого могут быть только числа 2, 3 и 5.

Напишите функцию isUgly(n: int), которая принимает на вход целое число n и возвращает True, если число уродливое, и False в противном случае. Также напишите тесты для этой функции, чтобы убедиться, что она работает нормально.

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

# Функция для проверки числа на "уродливость"
def isUgly(n):
if n <= 0:
return False
while n % 2 == 0:
n /= 2
while n % 3 == 0:
n /= 3
while n % 5 == 0:
n /= 5
return n == 1

# Тесты для функции isUrgly()
def test_is_ugly():
assert is_ugly(6) == True
assert is_ugly(1) == True
assert is_ugly(14) == False
assert is_ugly(0) == False
assert is_ugly(-6) == False


#задача #coding
Задача с кодом. Годится ли гора для восхождения?

Напишите функцию, которая будет принимать список чисел, представляющих отдельные высоты горы, и определять, годится ли такая гора для восхождения на нее.

Пригодными для восхождения горами будем считать те, где разница между соседними высотами не превышает 5 единиц.

Примечание. Список может начинаться с любого числа и быть любой длины.

Примеры:

is_scalable([1, 2, 4, 6, 7, 8]) ➞ True
is_scalable([40, 45, 50, 45, 47, 52]) ➞ True
is_scalable([2, 9, 11, 10, 18, 21]) ➞ False

Решение на нашем сайте.

#задача #coding
Tips & Tricks. Приемы Python, которым редко учат начинающих

Как и в любом языке, в Python есть целый ряд тонкостей и приемов, о которых редко рассказывают. Давайте рассмотрим некоторые из них.

#tipsandtricks #функции
Задача на логику. Сколько весит брусок мыла?

На одну чашу весов положен брусок мыла, а на другую — 3/4 такого же бруска и еще 3/4 кг. Весы в равновесии. Сколько весит брусок мыла?

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача
Строки. Многострочный пользовательский ввод в Python

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

#строки
Тест. Кортежи в Python

Кортеж — список с фиксированной, не изменяемой длиной. Кортежи в Python имеют много интересных свойств, незнание которых может привести к ошибке в коде. Проверьте, насколько хорошо вы знаете эти свойства: пройдите тест по кортежам из 10 вопросов!

#тест
Задача с кодом. Складываем концы

Создайте функцию, которая будет принимать список чисел любой длины и подсчитывать, сколько из этих чисел соответствуют следующему критерию: первая и последняя цифра числа в сумме должны давать 10.

Примечания:

- все элементы списка будут числами
- знак «минус» игнорируйте (см. пример 2)
- если список пуст, возвращаем 0.

Примеры:

ends_add_to_10([19, 46, 2098]) ➞ 3
ends_add_to_10([33, 44, -55]) ➞ 1
ends_add_to_10([]) ➞ 0

Решение на нашем сайте.

#задача #coding
🔥 Освойте создание мощных однострочников в Python

Увеличьте эффективность своего кода и научитесь писать его более кратко и элегантно на открытом практическом уроке «Самые эффективные однострочники в Python» от OTUS, где мы разберем:

- основы создания однострочников;
- продвинутые приемы;
- реальные примеры;
- лучшие практики и советы.

Спикер — опытный разработчик и преподаватель.

Встречаемся 28 мая в 19:00 мск в преддверии старта курса «Специализация Python Developer».
Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!

➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cwZIl2

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Tips & Tricks. Функция map() в Python

Разбираем работу функции map() в сравнении с работой цикла for.

#tipsandtricks #функции
Топ. Что такое Werkzeug?

В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для своей основной HTTP-функциональности. Изучая материал статьи, вы попутно разработаете собственное WSGI-совместимое приложение с использованием Werkzeug, чтобы создать похожий на Flask веб-фреймворк!

#топ
Задача для новичков

Напишите функцию mySqrt(n), которая принимает целое неотрицательное число n и возвращает квадратный корень из n, округленный в меньшую сторону до ближайшего целого числа.

Возвращаемое целое число также должно быть неотрицательным.

Вы не должны использовать какие-либо встроенные экспонентные функции или операторы. Также напишите тесты для этой функции, чтобы убедиться, что она работает нормально.

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

# Функция для вычисления округленного квадратного корня
def mySqrt(n):
if n == 0:
return 0
if n == 1:
return 1
for i in range(1, n + 1):
if i * i > n:
return i - 1

# Тесты для функции mySqrt()
def test_mySqrt():
assert mySqrt(0) == 0
assert mySqrt(4) == 2
assert mySqrt(9) == 3
assert mySqrt(16) == 4
assert mySqrt(17) == 4
assert mySqrt(25) == 5
assert mySqrt(26) == 5
assert mySqrt(30) == 5
assert mySqrt(31) == 5


#задача #coding
Задача с кодом. Равны ли последние цифры?

Напишите функцию, которая будет принимать три числа (a, b, c) и возвращать True, если последняя цифра произведения a * b равна последней цифре числа c.

Примеры:

last_dig(25, 21, 125) ➞ True
# 25 * 21 = 525, последняя цифра - 5.
# Последняя цифра 125 - тоже 5.

last_dig(55, 226, 5190) ➞ True
last_dig(12, 215, 2142) ➞ False

Решение на нашем сайте.

#задача #coding
Как произвести интеграцию SQL и Pandas для анализа данных?

Присоединяйтесь к открытому уроку "Интеграция SQL и Pandas для анализа данных", где вы:

- узнаете, как сочетать мощь SQL и гибкость Pandas для комплексного анализа данных;
- попрактикуетесь в интеграции SQL-запросов и Pandas, обработке и сохранении результатов анализа в базе данных.

Спикер Роман Козлов – руководитель курса "Python для аналитики", аналитик Big Data/системный аналитик с опытом 8+ лет.

Дата и время открытого урока: 28 мая в 20:00 Мск

Все участники вебинара получат специальную цену на курс «Python для аналитики» и консультацию от менеджеров OTUS!

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/mOEW/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Tips & Tricks. Блок else в циклах for и while

В Python циклы for и while могут содержать блок else, который выполнится, только если цикл завершится без применения break. Пример - в статье.

#tipsandtricks
Модули. Как прибавить дни, месяцы и годы к дате в Python

При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные единицы времени. Давайте разберем, как это делается.

#модули
👩‍💻 Как Python-разработчику эффективно создавать готовые REST API ресурсы?

Узнайте на открытом практическом уроке «Знакомство с библиотекой FastAPI-JSON:API» от OTUS, где мы разберем:

- знакомство с инструментом для FastAPI для создания готовых CRUD на основе Pydantic-схем;
- спецификацию JSON:API;
- ответы на все возникающие вопросы.

Вебинар будет полезен тем, кто уже знаком с FastAPI, pydantic и SQLAlchemy.

Спикер Сурен Хоренян — Senior Python Backend Developer и руководитель группы разработки платформы облачного видеонаблюдения в MTS AI.

Встречаемся 3 июня в 20:00 мск в преддверии старта курса «Django-разработчик».
Все участники вебинара получат специальную цену на обучение!

👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cxdDnn

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача на логику. Остановившиеся часы

У меня нет наручных часов, а только стенные, которые остановились. Я отправился к своему товарищу, у которого есть точные часы, узнал время и, не задерживаясь, вернулся домой. Дома я быстро произвел несложные вычисления и поставил стрелки своих часов в положение, соответствующее точному времени.

Как я действовал и рассуждал, если предварительно мне не было известно, сколько времени занимает дорога?

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача