Pythonist.ru - образование по питону
25.1K subscribers
282 photos
5 videos
5 files
1.15K links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

РКН: https://rknn.link/car
Download Telegram
⚡️Конфигурация — одна из самых недооценённых частей backend-приложений. os.getenv работает, пока проект маленький. Потом же появляются десятки переменных, разные окружения и ошибки, которые всплывают уже в продакшене.

На открытом уроке разберём, как выстроить конфигурацию Python-приложения профессионально — с помощью pydantic-settings и FastAPI. Покажем переход от хаотичного чтения переменных окружения к строго типизированному классу BaseSettings с автоматическим парсингом .env и .yaml файлов.

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

📆Встречаемся 3 февраля в 20:00 МСК в преддверии старта курса «Python Developer». Регистрация открыта: https://otus.pw/VpBF/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👩‍💻 Задача с кодом. Сбалансированный список

Дан список чисел. Все числа целые, не отрицательные. Количество чисел четное.

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

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

Если сумма чисел в обеих половинах одинакова, функция должна вернуть исходный список.

🔵 Примеры:

balanced([1, 2, 4, 6, 3, 1]) 
➞ [6, 3, 1, 6, 3, 1]
# 1 + 2 + 4 < 6 + 3 + 1
# Итоговый список [6, 3, 1, 6, 3, 1]

balanced([88, 3, 27, 5, 9, 0, 13, 10])
➞ [88, 3, 27, 5, 88, 3, 27, 5]
# 88 + 3 + 27 + 5 > 9 + 0 + 13 + 10
# Итоговый список [88, 3, 27, 5, 88, 3, 27, 5]

balanced([7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6])
➞ [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]
# 7 + 5 + 2 + 6 + 1 + 0 = 1 + 5 + 2 + 7 + 0 + 6
# Итоговый список [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]

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

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM