В данном shorts напишем код анимированной консольной новогодней ёлки на Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄3❤🔥2☃2
Справочник Программиста
Код анимированной консольной новогодней ёлки на Python
Для стилизации в коде используется сторонняя библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для стилизации в коде используется сторонняя библиотека
colorama
.pip install colorama
import random
import time
from colorama import init, Fore
init(autoreset=True) # Инициализация colorama
def draw_tree(height=10):
try:
while True:
print("\033c", end="") # Очистка консоли
print("Новогодняя ёлка\n")
for i in range(1, height + 1):
level = " " * (height - i) + "*" * (2 * i - 1)
decorated_level = "".join(
random.choice([
Fore.GREEN + "*", # Зелёная звезда
Fore.RED + "o", # Красный шарик
Fore.YELLOW + "x" # Жёлтая гирлянда
]) if char == "*" else char for char in level)
print(decorated_level)
print(" " * (height - 1) + Fore.MAGENTA + "|||") # Ствол
time.sleep(0.5) # Пауза для анимации
except KeyboardInterrupt:
print("\nАнимация остановлена. С наступающим Новым годом!")
if __name__ == "__main__":
draw_tree()
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5🎄5🔥3😁1
Библиотека
PyYAML
предназначена для работы с YAML (YAML Ain't Markup Language), удобным для человека форматом сериализации данных.YAML часто используется для конфигурационных файлов и в случаях, когда требуется передача данных между языками программирования, так как он более читаем по сравнению с другими форматами, такими как JSON и XML.
Основные возможности библиотеки:
pip install PyYAML
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥2
Рисование GUI ёлки на Python tkinter
Преобразование текста в новогодний стиль на Python
Анимированная 3D ёлка на Python
Фейерверки на Python
Новогодняя распродажа моих курсов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🎄3❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
С Новым Годом! 🎄☃️ 🎆
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄33🔥7❤🔥4☃3
This media is not supported in your browser
VIEW IN TELEGRAM
Khoj
— это инструмент, который превращает локальный компьютер в персонального помощника на основе ИИ.Интегрируется с популярными приложениями, такими как Obsidian, и позволяет мгновенно искать информацию в заметках, документах или личных базах данных.
Разработан для локального использования, обеспечивая конфиденциальность и безопасность данных.
Основные возможности:
pip install khoj
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥2👍2
Библиотека
Tenacity
предназначена для управления повторными попытками выполнения операций, которые могут завершиться неудачно.Позволяет легко настроить логику повторов, интервалов между попытками, максимальное количество попыток и обработку ошибок.
Основные возможности библиотеки:
Tenacity
может автоматически выполнить её повторно.pip install tenacity
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍4🔥2🤔1
sudoku-in-python-packaging
— это проект, который демонстрирует, как структурировать Python-проект для решения задачи создания и упаковки консольного приложения на примере игры «Судоку».Это учебный пример, который помогает лучшие понять практики Python-разработки и создания упаковки для распространения через PyPI.
Каждая ячейка в сетке судоку представляет собой пакет sudoku_{x}_{y} (индексировано 0), а версия (1-9) - это значение в поле, поэтому вы можете написать pyproject.toml, и установленные пакеты будут решением.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
pynput
используется для управления клавиатурой и мышью, а также для отслеживания их ввода.Основные возможности библиотеки:
pip install pynput
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤🔥2
Справочник Программиста
Новогодняя распродажа моих курсов! 🎁 Скидка на Курс по Python 3 - 5️⃣ 0️⃣ 🔤 Скидка на Курс по созданию телеграм-ботов на Python с фреймворком Aiogram 3 - 5️⃣ 0️⃣ 🔤 Скидка на Курс по созданию графического интерфейса в Python 3 с tkinter - 5️⃣ 0️⃣ 🔤 Акция продлится…
До конца скидок осталось 3 дня!
❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Код для создания изображений с подписями на Python
Для создания изображения с подписью в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для создания изображения с подписью в коде используется библиотека
Pillow
.pip install
Pillow
from PIL import Image, ImageDraw, ImageFont
def create_image_with_text(text, output_path="output.png", text_size=36, position="center"):
# Создаём новое изображение размером 800x400, цвет фона - тёмно-синий
img = Image.new("RGB", (800, 400), color=(73, 109, 137))
# Инициализируем объект для рисования
draw = ImageDraw.Draw(img)
# Загружаем шрифт Arial с указанным размером текста
font = ImageFont.truetype("arial.ttf", size=text_size)
# Вычисляем размер текста с помощью textbbox (границы текста в формате (x_min, y_min, x_max, y_max))
text_bbox = draw.textbbox((0, 0), text, font=font)
text_width = text_bbox[2] - text_bbox[0] # Ширина текста
text_height = text_bbox[3] - text_bbox[1] # Высота текста
# Устанавливаем координаты текста в зависимости от выбранного положения
if position == "center": # Центр изображения
text_x = (img.width - text_width) // 2
text_y = (img.height - text_height) // 2
elif position == "top-left": # Верхний левый угол
text_x, text_y = 10, 10
elif position == "top-right": # Верхний правый угол
text_x = img.width - text_width - 10
text_y = 10
elif position == "bottom-left": # Нижний левый угол
text_x = 10
text_y = img.height - text_height - 10
elif position == "bottom-right": # Нижний правый угол
text_x = img.width - text_width - 10
text_y = img.height - text_height - 10
else:
# Если указано некорректное положение, выбрасываем исключение
raise ValueError(
"Недопустимое значение для position. Используйте: center, top-left, top-right, bottom-left, bottom-right."
)
# Добавляем текст на изображение по рассчитанным координатам
draw.text((text_x, text_y), text, fill="white", font=font)
# Сохраняем изображение в файл
img.save(output_path)
# Выводим сообщение о сохранении файла
print(f"Изображение сохранено как {output_path}")
# Запрашиваем у пользователя текст для изображения
text = input("Введите текст для изображения: ")
# Запрашиваем у пользователя размер текста
text_size = int(input("Введите размер текста: "))
# Предлагаем выбрать расположение текста
print(
"Выберите расположение текста: center, top-left, top-right, bottom-left, bottom-right"
)
# Получаем выбор пользователя
position = input("Введите расположение текста: ").strip()
# Вызываем функцию с указанными параметрами
create_image_with_text(text, text_size=text_size, position=position)
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥5👍4❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
In_place
предоставляет удобный способ для редактирования файлов "на месте" — т.е. без необходимости создавать временные файлы, а затем заменять оригинал.Позволяет безопасно изменять содержимое файла, обрабатывая его строка за строкой. Библиотека может быть особенно полезной для задач, где требуется модифицировать текстовые файлы.
Основные возможности библиотеки:
pip install in-place
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤🔥3👍3
Справочник Программиста
Новогодняя распродажа моих курсов! 🎁 Скидка на Курс по Python 3 - 5️⃣ 0️⃣ 🔤 Скидка на Курс по созданию телеграм-ботов на Python с фреймворком Aiogram 3 - 5️⃣ 0️⃣ 🔤 Скидка на Курс по созданию графического интерфейса в Python 3 с tkinter - 5️⃣ 0️⃣ 🔤 Акция продлится…
До конца скидок остался 1 день!
psudohash
— это инструмент для создания хэшей на основе "криптографически псевдослучайных данных".Предназначена для генерации идентификаторов, ключей или других элементов, которые требуют уникальности и не нуждаются в обратном преобразовании.
Основные возможности:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для добавления текстового водяного знака на видео на Python
Для работы с видео в коде используется библиотека
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Для работы с видео в коде используется библиотека
moviepy
, а для работы с изображением текста - Pillow
и numpy
.pip install moviepy
Pillow numpy
from moviepy.editor import VideoFileClip, CompositeVideoClip, ImageClip
from PIL import Image, ImageDraw, ImageFont
import numpy as np
def add_watermark(input_video, output_video, watermark_text, font_size=24, position=("right", "bottom"), opacity=128):
# Загружаем видео
video = VideoFileClip(input_video)
# Создаём изображение с текстом водяного знака
font_path = "arial.ttf" # Указываем путь к файлу шрифта
font = ImageFont.truetype(font_path, font_size)
# Получаем размеры текста
text_bbox = font.getbbox(watermark_text)
text_width, text_height = text_bbox[2], text_bbox[3]
# Создаём прозрачное изображение для водяного знака
watermark_image = Image.new("RGBA", (text_width, text_height), (0, 0, 0, 0))
draw = ImageDraw.Draw(watermark_image)
draw.text((0, 0), watermark_text, font=font, fill=(255, 255, 255, opacity))
# Преобразуем Pillow-изображение в NumPy-массив
watermark_array = np.array(watermark_image)
# Конвертируем NumPy-массив в ImageClip
watermark_clip = ImageClip(watermark_array).set_duration(video.duration)
# Определяем позицию водяного знака
if position == ("right", "bottom"):
position = (video.size[0] - text_width - 10, video.size[1] - text_height - 10)
elif position == ("left", "top"):
position = (10, 10)
elif position == ("right", "top"):
position = (video.size[0] - text_width - 10, 10)
elif position == ("left", "bottom"):
position = (10, video.size[1] - text_height - 10)
watermark_clip = watermark_clip.set_position(position)
# Создаем итоговое видео
final_video = CompositeVideoClip([video, watermark_clip])
final_video.write_videofile(output_video, codec="libx264", audio_codec="aac")
# Пример использования
add_watermark(
input_video="input.mp4",
output_video="output_with_watermark.mp4",
watermark_text="My Watermark",
font_size=36,
position=("right", "bottom"),
opacity=200
)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
FastUI
предназначена для быстрого создания пользовательских интерфейсов (UI) с использованием Python-кода.Создана на базе
FastAPI
и Pydantic
, предоставляя разработчикам мощный и удобный инструмент для построения интерфейсов без необходимости глубокого изучения фронтенд-технологий.Основные особенности библиотеки:
FastAPI
, предоставляя возможность интеграции UI с API в одном проекте.Pydantic
, что гарантирует согласованность и удобство работы с типизированными данными.pip install fastui
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4🔥3
Voice-Pro
— утилита с веб-интерфейсом на базе Gradio
, предназначенная для обработки аудио. Разработана на языке Python и предоставляет широкий спектр функций для работы с голосом и текстом.Основные возможности:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤🔥2🤨1
Библиотека
bcrypt
используется для хэширования паролей с использованием алгоритма bcrypt, который является адаптивным и безопасным методом хранения паролей.Позволяет хэшировать, проверять и генерировать соли, обеспечивая высокий уровень безопасности благодаря возможности настройки "стоимости" вычислений.
Основные особенности библиотеки:
pip install bcrypt
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤🔥2🔥2🎉1