🎲 Игра «Кости» на Python
В данной статье напишем 2 версии кода игры «Кости» на Python: консольная и с графическим интерфейсом.
📖 Похожие статьи:
Игра «Арканоид» на Python
Игра «Пинг-понг» на Python
Пишем игру «Виселица» на Python
Крестики-нолики на Python
Крестики-нолики с графическим интерфейсом на Python
Анаграммы на Python
Пишем игру «Змейка» на Python
Игра «Угадай число» на Python
Игра «Камень, ножницы, бумага» на Python
➡️ Справочник Программиста. Подписаться
В данной статье напишем 2 версии кода игры «Кости» на Python: консольная и с графическим интерфейсом.
Игра «Арканоид» на Python
Игра «Пинг-понг» на Python
Пишем игру «Виселица» на Python
Крестики-нолики на Python
Крестики-нолики с графическим интерфейсом на Python
Анаграммы на Python
Пишем игру «Змейка» на Python
Игра «Угадай число» на Python
Игра «Камень, ножницы, бумага» на Python
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4❤🔥3🔥1
В данном 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