About Python [ru]
6.31K subscribers
317 photos
1.53K links
Все о Python: алгоритмы, паттерны проектирования, задачи, нейронные сети

Канал на бирже - https://telega.in/c/python_tesst

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
👩‍💻 Задачка по Python

Создайте Python-приложение, которое принимает путь к текстовому файлу и определяет, является ли его содержимое палиндромом построчно. Программа должна сохранять результаты проверки (является строка палиндромом или нет) в новый файл results.txt.

➡️ Пример:

python app.py check_palindrome input.txt — проверяет каждую строку файла input.txt и сохраняет результат в results.txt.

Решение задачи ⬇️

import sys

def is_palindrome(line):
stripped_line = ''.join(char.lower() for char in line if char.isalnum())
return stripped_line == stripped_line[::-1]

def check_palindrome(input_file):
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()

results = []
for line in lines:
line = line.strip()
result = 'палиндром' if is_palindrome(line) else 'не палиндром'
results.append(f'"{line}" — {result}')

with open('results.txt', 'w', encoding='utf-8') as result_file:
result_file.write('\n'.join(results))

print('Результаты проверки сохранены в "results.txt"')

if __name__ == '__main__':
if len(sys.argv) != 3:
print('Используйте: python
app.py check_palindrome <путь к файлу>')
sys.exit(1)

action = sys.argv[1]
file_path = sys.argv[2]

if action == 'check_palindrome':
check_palindrome(file_path)
else:
print('Неизвестное действие. Используйте "check_palindrome".')
Please open Telegram to view this post
VIEW IN TELEGRAM
1
​​📦 Ваш код достоин PyPI: как правильно опубликовать Python-пакет

В этой статье вы узнаете, как структурировать проект, настроить метаданные и загрузить свой пакет в репозиторий.

Читать...
1
​​💬 Создаем бота-автоответчика для Telegram на ChatGPT и Aiogram 3: пошаговое руководство

В этой статье мы напишем бота, который будет отвечать на личные сообщения с помощью ChatGPT.

Читать...
2
​​🌳 Реализация алгоритма Укконена на Python

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

Читать...
1
​​🧠Разделяй и запускай: делим тестовый стенд между департаментами

В этой статье делюсь опытом разработки и внедрения в процессы компании оптимизационного решения на базе математического программирования.

Читать...
1
​​🤓Способы возведения в степень в Python

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

Читать...
👍21
​​👤 NER для начинающих: Простое объяснение с примерами на SpaCy

В этой статье мы подробно рассмотрим распознавание именованных сущностей (Named Entity Recognition, NER) и его применение на практике.

Читать...
1
​​🤫Секреты логических операторов в Python

В этой статье мы поговорим о неочевидных деталях и скрытых особенностях работы логических операторов в Python.

Читать...
1
​​🤖Prompt engineering 101

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

Читать...
32
💬 Плохое название — это баг с задержкой

Переменная temp сейчас понятна, но через месяц будет выглядеть как головоломка.

👉 Совет: не экономь на именах. Название — это первый способ понять, что делает код. Хорошее имя делает комментарий ненужным. Плохое — превращает читателя в детектива.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
​​🤤 Жадные алгоритмы: все, что нужно знать для собеседования

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

Читать...
1
​​👍 25 лучших практик разработки на Python

В этой статье рассматриваются современные инструменты, методы организации проекта и техники программирования.

Читать...
1👍1
​​⚡️Создание собственного API на Python (FastAPI): Знакомство и первые функции

В этой статье автор рассмотрит методы, позволяющие отправлять данные (POST), обновлять (PUT) и удалять данные (DELETE).

Читать...
1
👩‍💻 Задачка по Python

Напишите функцию, которая принимает список email-адресов и возвращает уникальные домены из этого списка. Домен — это часть адреса после символа @.

➡️ Пример:

["user1@example.com", "user2@test.com", "user3@example.com", "user4@sample.com"]

#{"example.com", "test.com", "sample.com"}


Решение задачи ⬇️

def get_unique_domains(emails):
domains = {email.split('@')[1] for email in emails}
return domains

# Пример использования:
emails = ["
user1@example.com", "user2@test.com", "user3@example.com", "user4@sample.com"]
result = get_unique_domains(emails)
print(result) # Ожидаемый результат: {'
example.com', 'test.com', 'sample.com'}
Please open Telegram to view this post
VIEW IN TELEGRAM
2
​​🚀Как компилировать json или история оптимизации python сервиса

В этой статье речь пойдет про детальные и последовательные изменения в самом узком месте сервиса.

Читать...
2
⚙️ Что такое asyncio в Python и как оно используется для асинхронного программирования?

asyncio — это стандартная библиотека Python, предоставляющая инструменты для асинхронного программирования, таких как задачи (tasks), корутины (coroutines) и управление циклами событий (event loops). Она позволяет выполнять множество операций ввода-вывода (например, сетевые запросы) параллельно, не блокируя основной поток.

➡️ Пример:

import asyncio

async def fetch_data(delay, name):
print(f"Начинаем получение данных {name}")
await asyncio.sleep(delay) # Асинхронная задержка
print(f"Завершено получение данных {name}")

async def main():
# Запускаем несколько задач параллельно
await asyncio.gather(
fetch_data(2, "A"),
fetch_data(1, "B"),
fetch_data(3, "C"),
)

# Запуск цикла событий
asyncio.run(main())


🗣️ В этом примере asyncio.gather запускает три асинхронные задачи одновременно, позволяя эффективно использовать время ожидания ввода-вывода. asyncio полезен для построения сетевых приложений, ботов и других асинхронных систем.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⁉️ Хотите узнать, как устроен рабочий процесс в ML и получить базовые навыки работы с данными?

23 июля в 20:00 МСК OTUS проводит открытый урок «ML для начинающих – первые шаги с Jupyter Notebook». Вас ждёт:

– Обзор этапов машинного обучения: от подготовки данных до первой модели.
– Настройка виртуального окружения для изоляции экспериментов.
– Знакомство с Jupyter Notebook: анализ, визуализация, код и Markdown вместе.

Этот урок — идеальная отправная точка перед стартом курса «Специализация Machine Learning». Все участники получат скидку на обучение.

➡️ Регистрация открыта: https://vk.cc/cNV4ZH

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, erid: 2VtzqxAgETJ
​​🤓Эволюция форматирования строк в Python

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

Читать...
​​🥳Базовые аспекты условных операторов в Python

В этой статье мы подробно рассмотрим концепцию условного оператора на примере языка Python.

Читать...