Kodduu Python
1.07K subscribers
317 photos
28 videos
191 links
Научись программировать на Python на интересных примерах

Самый быстрый курс https://stepik.org/a/187914
Самый нескучный курс https://stepik.org/a/185238

Во вопросам сотрудничества: @AlexErf
Download Telegram
Давайте создадим небольшой скрипт, который будет создавать ASCII-арт из введенного пользователем текста:

python
from pyfiglet import figlet_format

def ascii_art_generator():
try:
text = input("Введите текст, который вы хотите преобразовать в ASCII-арт: ")
font = input("Выберите шрифт (например, 'slant', '3-d', 'bubble' или 'digital'): ")
art = figlet_format(text, font=font)
print(art)
except Exception as e:
print(f"Ошибка: {e}")
print("Возможно, вы ввели неверное имя шрифта. Попробуйте еще раз.")

if __name__ == "__main__":
ascii_art_generator()


Для работы этого скрипта вам понадобится установить библиотеку pyfiglet:
pip install pyfiglet


После установки вы можете запустить скрипт, ввести текст и выбрать шрифт, чтобы увидеть красивый ASCII-арт!

Подпишись 👉🏻 @KodduuPython 🤖
Давайте создадим простой скрипт для симуляции броска игральных костей:

python
import random

def roll_dice(num=2):
"""
Симулирует бросок num игральных костей.
Возвращает список значений каждой кости.
"""
return [random.randint(1, 6) for _ in range(num)]

def main():
while True:
num = input("Введите количество костей для броска или 'q' для выхода: ")

if num == 'q':
break

try:
num = int(num)
result = roll_dice(num)
total = sum(result)

print(f"Выпавшие значения: {', '.join(map(str, result))}")
print(f"Общая сумма: {total}")

except ValueError:
print("Пожалуйста, введите корректное число или 'q' для выхода.")

if __name__ == "__main__":
main()

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

Подпишись 👉🏻 @KodduuPython 🤖
Давайте создадим простой пример использования PsychoPy, который будет отображать круг разного цвета в зависимости от нажатой клавиши: если пользователь нажимает r, круг становится красным, при нажатии g - зеленым, а при нажатии b - синим.

python
from psychopy import visual, event, core

# Создаем окно размером 600x600 пикселей с белым фоном
win = visual.Window([600, 600], color="white")

# Создаем круг с начальным цветом "серый"
circle = visual.Circle(win, radius=50, fillColor="gray", lineColor="gray")

# Основной цикл программы
while True:
# Ждем нажатия клавиши
keys = event.waitKeys()

# Меняем цвет круга в зависимости от нажатой клавиши
if 'r' in keys:
circle.setFillColor('red')
circle.setLineColor('red')
elif 'g' in keys:
circle.setFillColor('green')
circle.setLineColor('green')
elif 'b' in keys:
circle.setFillColor('blue')
circle.setLineColor('blue')
elif 'q' in keys: # Если пользователь нажал 'q', выходим из программы
break

# Отображаем круг
circle.draw()
win.flip()

# Закрываем окно
win.close()


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

Подпишись 👉🏻 @KodduuPython 🤖
Давайте рассмотрим библиотеку pygame. Это популярная библиотека для создания игр на Python.

### Пример: Простая аркадная игра с подвижным объектом и уклонением от падающих прямоугольников.

import pygame
import random

# Инициализация pygame
pygame.init()

# Цвета
WHITE = (255, 255, 255)
RED = (255, 0, 0)
BLUE = (0, 0, 255)

# Размеры экрана
WIDTH, HEIGHT = 480, 600

screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Уклонение от прямоугольников")

# Класс для игрока
class Player(pygame.sprite.Sprite):
def init(self):
super().init()
self.image = pygame.Surface((50, 25))
self.image.fill(BLUE)
self.rect = self.image.get_rect(center=(WIDTH/2, HEIGHT-30))

def move(self):
pressed = pygame.key.get_pressed()
if pressed[pygame.K_LEFT] and self.rect.left > 0:
self.rect.move_ip(-5, 0)
if pressed[pygame.K_RIGHT] and self.rect.right < WIDTH:
self.rect.move_ip(5, 0)

def update(self):
self.move()

# Класс для падающих прямоугольников
class Block(pygame.sprite.Sprite):
def init(self):
super().init()
self.image = pygame.Surface((random.randint(50,100), 12))
self.image.fill(RED)
self.rect = self.image.get_rect(center=(random.randint(50, WIDTH-50), 0))
self.speed = random.randint(2, 6)

def update(self):
self.rect.move_ip(0, self.speed)
if self.rect.top > HEIGHT:
self.kill()

player = Player()
enemies = pygame.sprite.Group()
all_sprites = pygame.sprite.Group()
all_sprites.add(player)

running = True
clock = pygame.time.Clock()

while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

screen.fill(WHITE)

if random.random() < 0.02:
new_enemy = Block()
enemies.add(new_enemy)
all_sprites.add(new_enemy)

all_sprites.update()
all_sprites.draw(screen)

if pygame.sprite.spritecollideany(player, enemies):
player.kill()
running = False

pygame.display.flip()
clock.tick(30)

pygame.quit()


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

Подпишись 👉🏻 @KodduuPython 🤖
Посмотрим на библиотеку matplotlib, которая является одной из наиболее популярных библиотек для визуализации данных на Python.

### Пример: Визуализация роста функции sin(x) и cos(x) на одном графике

Python
import numpy as np
import matplotlib.pyplot as plt

# Генерируем массив данных для оси X
x = np.linspace(0, 2 * np.pi, 1000)

# Вычисляем значения sin(x) и cos(x)
y1 = np.sin(x)
y2 = np.cos(x)

# Создаем график
plt.figure(figsize=(8, 6))
plt.plot(x, y1, label='sin(x)', color='blue')
plt.plot(x, y2, label='cos(x)', color='red')

# Добавляем заголовок и подписи к осям
plt.title('Графики функций sin(x) и cos(x)')
plt.xlabel('x')
plt.ylabel('y')

# Добавляем легенду
plt.legend()

# Отображаем сетку
plt.grid(True)

# Отображаем график
plt.show()


В этом коде мы используем numpy для генерации массива данных и вычисления значений функций sin и cos, а затем визуализируем их с помощью matplotlib. График показывает функции sin(x) и cos(x) в диапазоне от 0 до 2pi. На графике синим обозначена функция sin(x), красным - cos(x).

Подпишись 👉🏻 @KodduuPython 🤖
2
Рассмотрим библиотеку pandas, которая является основным инструментом для анализа данных в Python.

### Пример: Анализ простого набора данных с использованием pandas

Предположим, у вас есть следующий CSV-файл (data.csv) с данными о продажах:

Date,Product,Amount
2023-01-01,Apple,10
2023-01-01,Banana,15
2023-01-02,Apple,12
2023-01-02,Banana,20
2023-01-03,Apple,14
2023-01-03,Banana,22

Давайте анализировать этот набор данных:

import pandas as pd

# Загрузим данные из CSV файла
df = pd.read_csv('data.csv')

# Выведем первые строки набора данных для проверки
print(df.head())

# Группировка данных по продуктам и подсчет общего количества для каждого продукта
total_sales = df.groupby('Product').sum()
print("\nОбщие продажи по продуктам:")
print(total_sales)

# Найдем день с максимальным объемом продаж для каждого продукта
max_sales_day = df.groupby('Product')['Amount'].idxmax()
print("\nДень с максимальным объемом продаж для каждого продукта:")
print(df.loc[max_sales_day])

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

Этот код даст представление о мощи pandas для анализа и обработки данных.

Подпишись 👉🏻 @KodduuPython 🤖
👍2
librosa — это мощная библиотека для анализа и обработки аудио. Вот некоторые основные возможности и примеры ее использования:

### 1. Загрузка и воспроизведение аудиофайла:

Для начала убедитесь, что у вас установлены необходимые библиотеки:
bash
pip install librosa soundfile numpy


Теперь вы можете загрузить аудиофайл и воспроизвести его:

python
import librosa
import librosa.display
import soundfile as sf
import numpy as np
import matplotlib.pyplot as plt

# Загрузка аудиофайла
y, sr = librosa.load('path_to_your_audio_file.wav', sr=None)

# Воспроизведение аудиофайла
sf.write('tmp.wav', y, sr)
os.system("start tmp.wav")


### 2. Визуализация волновой формы:

python
plt.figure(figsize=(12, 4))
librosa.display.waveshow(y, sr=sr)
plt.title('Waveform')
plt.tight_layout()
plt.show()


### 3. Вычисление и визуализация спектрограммы:

python
# Вычисление спектрограммы
D = librosa.amplitude_to_db(np.abs(librosa.stft(y)), ref=np.max)

# Визуализация
plt.figure(figsize=(12, 4))
librosa.display.specshow(D, sr=sr, x_axis='time', y_axis='log')
plt.colorbar(format='%+2.0f dB')
plt.title('Spectrogram')
plt.tight_layout()
plt.show()


### 4. Извлечение признаков (например, темп):

python
# Вычисление темпа
tempo, _ = librosa.beat.beat_track(y, sr=sr)
print(f"Estimated tempo: {tempo} beats per minute.")


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

Подпишись 👉🏻 @KodduuPython 🤖
Вот пример интересного кода на Python, который создаёт анимированный снежинок на экране с использованием библиотеки turtle:

python
import turtle
import random

# Настройка экрана
wn = turtle.Screen()
wn.bgcolor("black")

# Создание "черепашки" для рисования снежинки
flake = turtle.Turtle()
flake.shape("circle")
flake.color("white")
flake.speed(0)
flake.penup()
flake.hideturtle()

flake_list = []

# Создание снежинки
def create_flake():
x = random.randint(-300, 300)
y = random.randint(100, 300)
flake.penup()
flake.goto(x, y)
flake.showturtle()
flake_list.append(flake.clone())

# Падение снежинки
def fall():
for flake in flake_list:
y = flake.ycor()
y -= random.randint(1, 5)
flake.sety(y)

if y < -300:
x = random.randint(-300, 300)
y = random.randint(100, 300)
flake.goto(x, y)

# Создание множества снежинок
for _ in range(50):
create_flake()

# Основной цикл анимации
while True:
fall()
wn.update()


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

Подпишись 👉🏻 @KodduuPython 🤖
Попробуем написать небольшую текстовую игру-квест на Python:

python
def start_game():
print("Вы просыпаетесь в тёмной комнате. Вы не помните, как здесь оказались.")
print("Перед вами две двери: левая и правая. Какую дверь вы выберете?")

choice = input("Введите 'левая' или 'правая': ")

if choice == "левая":
dragon_room()
elif choice == "правая":
trap_room()
else:
print("Вы выбрали неизвестное действие и остались в комнате навсегда.")
end_game()

def dragon_room():
print("\nВы заходите в комнату и видите огромного дракона.")
print("Дракон предлагает вам два варианта: 1) сыграть в игру или 2) сразиться с ним.")

choice = input("Введите '1' чтобы сыграть или '2' чтобы сразиться: ")

if choice == "1":
print("Вы играли в крестики-нолики и победили дракона! Он подарил вам сокровище!")
end_game()
elif choice == "2":
print("Дракон оказался слишком сильным и вы проиграли.")
end_game()
else:
print("Вы не смогли принять решение и дракон съел вас.")
end_game()

def trap_room():
print("\nВы заходите в комнату и попадаете в ловушку!")
print("Пол под вами начинает проваливаться!")

choice = input("Быстро! Введите 'прыгать' чтобы попытаться выжить: ")

if choice == "прыгать":
print("Вы увернулись от проваливающегося пола и нашли выход!")
end_game()
else:
print("Вы не успели и упали в яму.")
end_game()

def end_game():
print("\nКонец игры!")
replay = input("Хотите начать сначала? (да/нет): ")
if replay == "да":
start_game()
else:
print("Спасибо за игру!")

start_game()


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

Подпишись 👉🏻 @KodduuPython 🤖
👍2
Давайте напишем простой генератор паролей на Python:

python
import random
import string

def generate_password(length=8):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password

print("Генератор паролей")
password_length = int(input("Введите желаемую длину пароля: "))
print(f"Ваш новый пароль: {generate_password(password_length)}")


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

Подпишись 👉🏻 @KodduuPython 🤖
Представляю простой консольный квиз на Python:

python
def ask_question(question, correct_answer, options):
print(question)
for i, option in enumerate(options, 1):
print(f"{i}. {option}")

answer = int(input("Ваш ответ (введите номер): "))

if options[answer-1] == correct_answer:
return True
else:
return False

questions = [
{
"question": "Какая планета ближе всего к Солнцу?",
"correct_answer": "Меркурий",
"options": ["Марс", "Меркурий", "Венера", "Земля"]
},
{
"question": "Какой элемент имеет химический символ 'Au'?",
"correct_answer": "Золото",
"options": ["Золото", "Аргон", "Аллюминий", "Серебро"]
}
]

score = 0

for q in questions:
if ask_question(q['question'], q['correct_answer'], q['options']):
print("Правильно!")
score += 1
else:
print(f"Неправильно! Правильный ответ: {q['correct_answer']}")

print(f"Ваш результат: {score}/{len(questions)}")


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

Подпишись 👉🏻 @KodduuPython 🤖
Давайте создадим мини-программу, которая конвертирует температуру из градусов Цельсия в градусы Фаренгейта и наоборот:

python
def celsius_to_fahrenheit(celsius):
return 9.0/5.0 * celsius + 32

def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5.0/9.0

print("Программа конвертации температуры")
choice = input("Конвертировать из Цельсия в Фаренгейта (введите 'C') или из Фаренгейта в Цельсия (введите 'F')? ")

if choice == 'C':
celsius = float(input("Введите температуру в градусах Цельсия: "))
print(f"{celsius}°C = {celsius_to_fahrenheit(celsius):.2f}°F")
elif choice == 'F':
fahrenheit = float(input("Введите температуру в градусах Фаренгейта: "))
print(f"{fahrenheit}°F = {fahrenheit_to_celsius(fahrenheit):.2f}°C")
else:
print("Неверный выбор!")


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

Подпишись 👉🏻 @KodduuPython 🤖
Представлю еще одну интересную библиотеку - emoji.

Библиотека emoji позволяет добавлять эмодзи в ваш код на Python.

1. Установите библиотеку:
pip install emoji


2. Пример кода:

python
import emoji

def main():
print(emoji.emojize('Python is :thumbs_up:'))
print(emoji.emojize('Библиотеки на Python делают код веселым :wink:', language='ru'))

# Перевод текстового описания эмодзи в сам эмодзи
user_input = input("Введите описание эмодзи (например, :heart:): ")
print(emoji.emojize(user_input))

if __name__ == "__main__":
main()


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

Эта библиотека может пригодиться для добавления небольшого количества "соли" в ваши проекты или просто для развлечения. Надеюсь, вам понравится!

Подпишись 👉🏻 @KodduuPython 🤖
Давайте рассмотрим еще одну интересную библиотеку — howdoi.

Эта библиотека позволяет быстро находить ответы на программистские вопросы прямо из командной строки (или из вашего кода), используя Stack Overflow.

1. Установите библиотеку:
pip install howdoi


2. Пример использования в коде:

python
import howdoi

def get_answer(query):
return howdoi.howdoi({'query': query})

def main():
question = input("Что вы хотели бы узнать? ")
print(get_answer(question))

if __name__ == "__main__":
main()


Запустив этот код, вы можете задать программистский вопрос (на английском языке), и программа попробует найти ответ на Stack Overflow.

Это может быть полезно, если вы работаете в оффлайн-редакторе кода или просто хотите быстро найти решение для какой-либо проблемы без открытия браузера.

Надеюсь, что это добавит удобства в ваш рабочий процесс!

Подпишись 👉🏻 @KodduuPython 🤖
1🆒1
Рассмотрим библиотеку pywhatkit.

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

1. Установите библиотеку:
pip install pywhatkit


2. Примеры использования:

a) Отправить сообщение WhatsApp:
python
import pywhatkit as kt

def send_whatsapp():
# Не забудьте войти в WhatsApp Web на вашем компьютере перед запуском
phone_num = input("Введите номер телефона в формате +xxxxxxxxxxx: ")
message = input("Введите сообщение: ")
time_hour = int(input("Введите час отправки (24-часовой формат): "))
time_min = int(input("Введите минуту отправки: "))

kt.sendwhatmsg(phone_num, message, time_hour, time_min)

send_whatsapp()


b) Преобразовать текст в рукопись:
python
import pywhatkit as kt

def text_to_handwriting():
text = input("Введите текст для преобразования в рукопись: ")
output_path = "output.png"

kt.text_to_handwriting(text, save_to=output_path)
print(f"Рукописный текст сохранен в {output_path}")

text_to_handwriting()


Обратите внимание, что для отправки сообщений через WhatsApp, вам нужно будет предварительно отсканировать QR-код на сайте WhatsApp Web.

Эти примеры лишь небольшая часть того, что может предложить pywhatkit. Надеюсь, вам будет интересно экспериментировать с этой библиотекой!

Подпишись 👉🏻 @KodduuPython 🤖
1🆒1
Рассмотрим библиотеку rich.

rich позволяет создавать красочный и интерактивный вывод в консоль с минимальными усилиями. Это может быть полезно для логирования, вывода таблиц, прогресс-баров и даже для рендеринга Markdown.

1. Установите библиотеку:
pip install rich


2. Примеры использования:

a) Вывод стилизованного текста:
python
from rich import print

print("[bold red]Это красный жирный текст![/bold red]")
print("[underline blue]Это синий текст с подчеркиванием![/underline blue]")


b) Вывод таблицы:
python
from rich.table import Table
from rich.console import Console

console = Console()

table = Table(show_header=True, header_style="bold magenta")
table.add_column("ID")
table.add_column("Name")
table.add_column("Age")

table.add_row("1", "Alice", "28")
table.add_row("2", "Bob", "23")
table.add_row("3", "Charlie", "34")

console.print(table)


c) Вывод Markdown:
python
from rich.console import Console

console = Console()

markdown_text = """
# Заголовок
- Список 1
- Список 2
"""

console.print(markdown_text, markup=False)


d) Прогресс-бар:
python
import time
from rich.progress import track

for step in track(range(10), description="Обработка..."):
time.sleep(0.1)


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

Подпишись 👉🏻 @KodduuPython 🤖
Давайте рассмотрим библиотеку dearpygui.

dearpygui — это быстрая, простая в использовании и портируемая библиотека для создания графических пользовательских интерфейсов (GUI) на Python.

1. Установите библиотеку:
pip install dearpygui


2. Пример создания простого окна с кнопкой:

python
import dearpygui.dearpygui as dpg

def on_button_click(sender, app_data):
dpg.create_simple_plot("Sample Plot", [0, 1, 2, 3, 4], [0, 1, 4, 9, 16])

with dpg.handler_registry():
with dpg.window(label="Main Window"):
dpg.add_text("Hello, dearpygui!")
dpg.add_button(label="Show Plot", callback=on_button_click)

dpg.create_context()
dpg.create_viewport(title='Custom GUI', width=600, height=400)
dpg.setup_dearpygui()
dpg.show_viewport()
dpg.destroy_context()


Этот код создаст окно с текстом и кнопкой. При нажатии на кнопку будет отображаться график.

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

Если вы искали быстрый и простой способ создать GUI на Python без необходимости изучения сложных библиотек вроде PyQt или Tkinter, dearpygui может быть отличным выбором!

Подпишись 👉🏻 @KodduuPython 🤖
🆒3
Давайте поговорим о библиотеке imageio.

imageio — это библиотека для чтения и записи изображений и видеофайлов в различных форматах. Она довольно проста в использовании и поддерживает множество форматов.

1. Установите библиотеку:
pip install imageio


2. Примеры использования:

a) Чтение и сохранение изображения:
python
import imageio

image = imageio.imread("input.jpg")
imageio.imwrite("output.png", image)


b) Создание анимированного GIF из нескольких изображений:
python
import imageio

filenames = ["frame1.png", "frame2.png", "frame3.png"]
images = [imageio.imread(filename) for filename in filenames]
imageio.mimsave("animation.gif", images, duration=0.5) # duration — это продолжительность каждого кадра в секундах


c) Чтение и запись видео:
python
reader = imageio.get_reader("video.mp4")
fps = reader.get_meta_data()['fps']

writer = imageio.get_writer("output_video.mp4", fps=fps)

for frame in reader:
modified_frame = frame[:, :, :3] # Например, удалить альфа-канал
writer.append_data(modified_frame)

writer.close()


imageio также поддерживает чтение и запись вольфрамов, объемных изображений и многого другого. Это универсальное решение для работы с мультимедийными данными в Python. Если вы часто работаете с изображениями или видео, эта библиотека может быть очень полезной для вас!

Подпишись 👉🏻 @KodduuPython 🤖
Рассмотрим библиотеку pyfiglet.

pyfiglet — это реализация на Python популярной утилиты figlet, которая позволяет создавать ASCII-искусство из текста. С её помощью вы можете генерировать красочные и стилизованные заголовки или логотипы прямо в вашем терминале.

1. Установите библиотеку:
pip install pyfiglet


2. Пример использования:

python
import pyfiglet

def main():
font = pyfiglet.Figlet(font='slant') # Вы можете изменить шрифт на любой другой из доступных
text = input("Введите текст для преобразования: ")
ascii_art = font.renderText(text)
print(ascii_art)

if __name__ == "__main__":
main()


Запустите код и введите любой текст, чтобы увидеть его стилизованное ASCII-представление.

pyfiglet включает в себя множество различных шрифтов, с которыми можно экспериментировать, чтобы получить именно тот вид, который вам нравится. Это забавный способ добавить немного креативности в ваши консольные приложения или скрипты.

Подпишись 👉🏻 @KodduuPython 🤖
Поговорим о библиотеке pygame.

pygame — это библиотека для создания игр и мультимедийных приложений на Python. Она предоставляет инструменты для работы с графикой, звуком, вводом устройств и многим другим.

1. Установите библиотеку:
pip install pygame


2. Простой пример создания окна с движущимся прямоугольником:

python
import pygame
from pygame.locals import QUIT

pygame.init()

WIDTH, HEIGHT = 640, 480
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Простой пример с pygame")

WHITE = (255, 255, 255)
RED = (255, 0, 0)

x, y = WIDTH // 2, HEIGHT // 2
velocity = 5

running = True
while running:
for event in pygame.event.get():
if event.type == QUIT:
running = False

keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= velocity
if keys[pygame.K_RIGHT]:
x += velocity
if keys[pygame.K_UP]:
y -= velocity
if keys[pygame.K_DOWN]:
y += velocity

screen.fill(WHITE)
pygame.draw.rect(screen, RED, (x, y, 50, 50))

pygame.display.flip()
pygame.time.Clock().tick(60)

pygame.quit()


Этот код создает окно с белым фоном и красным прямоугольником, который можно перемещать с помощью стрелок на клавиатуре.

pygame — это мощный инструмент для создания 2D-игр и мультимедийных приложений, и он предоставляет множество возможностей для реализации различных идей. Если вы заинтересованы в разработке игр или графических приложений на Python, pygame может стать отличным выбором!

Подпишись 👉🏻 @KodduuPython 🤖
🆒2
Давайте рассмотрим библиотеку Scrapy.

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

1. Установите библиотеку:
pip install Scrapy


2. Пример создания простого паука для сбора заголовков с веб-страницы:

python
import scrapy

class SimpleSpider(scrapy.Spider):
name = "simple_spider"
start_urls = [
'https://example.com',
]

def parse(self, response):
for title in response.css('h1::text, h2::text, h3::text'):
yield {'title': title.get()}


Чтобы запустить этого паука, сохраните его в файл simple_spider.py и выполните команду:
scrapy runspider simple_spider.py


Scrapy предоставляет глубокую настройку для различных аспектов процесса сбора данных, включая обработку запросов, сессий, кэширование и многое другое. Кроме того, благодаря встроенной поддержке экспорта данных, вы можете легко сохранять собранную информацию в различных форматах, таких как CSV, JSON или XML.

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

Подпишись 👉🏻 @KodduuPython 🤖
🆒2