🐍 Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Π·ΠΌΠ΅ΠΉΠΊΡƒ Π½Π° Python: пошаговоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ "Π—ΠΌΠ΅ΠΉΠΊΠ°" Π½Π° Python, Π²Π°ΠΌ понадобится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Pygame. Π’ΠΎΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ шаблон ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ:


import pygame
import time

# Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Pygame
pygame.init()

# Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΎΠΊΠ½Π°
window_width = 800
window_height = 600
window = pygame.display.set_mode((window_width, window_height))

# ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²
black = (0, 0, 0)
white = (255, 255, 255)

# Основной ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Ρ†ΠΈΠΊΠ»
game_over = False
while not game_over:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            game_over = True

    # ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° Π·Π°Π΄Π½Π΅Π³ΠΎ Ρ„ΠΎΠ½Π°
    window.fill(black)

    # ОбновлСниС экрана
    pygame.display.update()

    # ВрСмя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ
    time.sleep(0.1)

# Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Pygame
pygame.quit()
    

Π­Ρ‚ΠΎ основной каркас ΠΈΠ³Ρ€Ρ‹ "Π—ΠΌΠ΅ΠΉΠΊΠ°". Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ двиТСния Π·ΠΌΠ΅ΠΉΠΊΠΈ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ взаимодСйствий с ΠΏΠΈΡ‰Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ столкновСний. Но с этим ΠΊΠΎΠ΄ΠΎΠΌ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ с Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ Ρ„ΠΎΠ½ΠΎΠΌ Π² Pygame.

Π£Π΄Π°Ρ‡ΠΈ Π² создании ΠΈΠ³Ρ€Ρ‹ "Π—ΠΌΠ΅ΠΉΠΊΠ°" Π½Π° Python!

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ "Π—ΠΌΠ΅ΠΉΠΊΡƒ" Π½Π° Python

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ! Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ "Π—ΠΌΠ΅ΠΉΠΊΠ°" Π½Π° языкС Python. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Pygame, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ прилоТСния.

Установка Pygame

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Pygame. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:

pip install pygame

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈΠ³Ρ€Ρ‹

ПослС установки Pygame, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ созданиС ΠΈΠ³Ρ€Ρ‹. Π’Π½Π°Ρ‡Π°Π»Π΅, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

import pygame
import random

# Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Pygame
pygame.init()

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

Π—Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π”Π°Π»Π΅Π΅, ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для нашСй ΠΈΠ³Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ячССк Π·ΠΌΠ΅ΠΉΠΊΠΈ, Ρ†Π²Π΅Ρ‚Π° ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ двиТСния Π·ΠΌΠ΅ΠΉΠΊΠΈ.

cell_size = 10
snake_color = (0, 255, 0)
food_color = (255, 0, 0)
speed = 10

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΌΡ‹ создадим Π·ΠΌΠ΅ΠΉΠΊΡƒ. Π—ΠΌΠ΅ΠΉΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна Π² Π²ΠΈΠ΄Π΅ списка ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π³Π΄Π΅ каТдая ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° - это ΠΏΠ°Ρ€Π° ΠΈΠ· x ΠΈ y Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

snake = [(width / 2, height / 2)]

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π΄Ρ‹

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ³Ρ€Π° Π±Ρ‹Π»Π° интСрСсной, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·ΠΌΠ΅ΠΉΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΡΡŠΠ΅Π΄Π°Ρ‚ΡŒ. Π•Π΄Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

food = (random.randint(0, width / cell_size - 1) * cell_size,
        random.randint(0, height / cell_size - 1) * cell_size)

Π“Π»Π°Π²Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΈΠ³Ρ€Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ создали всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π·ΠΌΠ΅ΠΉΠΊΡƒ ΠΈ Π΅Π΄Ρƒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ Ρ†ΠΈΠΊΠ»Ρƒ ΠΈΠ³Ρ€Ρ‹. Π’ этом Ρ†ΠΈΠΊΠ»Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ состояниС ΠΈΠ³Ρ€Ρ‹ ΠΈ ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ сцСну.

running = True

while running:
    # ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # ОбновлСниС состояния ΠΈΠ³Ρ€Ρ‹

    # ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° сцСны

    # ОбновлСниС экрана

pygame.quit()

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°

Для управлСния Π·ΠΌΠ΅ΠΉΠΊΠΎΠΉ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ клавиши со стрСлками. Π’ Π³Π»Π°Π²Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΈΠ³Ρ€Ρ‹, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события наТатия клавиш ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ двиТСния Π·ΠΌΠ΅ΠΉΠΊΠΈ.

keys = pygame.key.get_pressed()

if keys[pygame.K_UP]:
    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·ΠΌΠ΅ΠΉΠΊΡƒ Π²Π²Π΅Ρ€Ρ…

elif keys[pygame.K_DOWN]:
    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·ΠΌΠ΅ΠΉΠΊΡƒ Π²Π½ΠΈΠ·

elif keys[pygame.K_LEFT]:
    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·ΠΌΠ΅ΠΉΠΊΡƒ Π²Π»Π΅Π²ΠΎ

elif keys[pygame.K_RIGHT]:
    # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·ΠΌΠ΅ΠΉΠΊΡƒ Π²ΠΏΡ€Π°Π²ΠΎ

ОбновлСниС состояния ΠΈΠ³Ρ€Ρ‹

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ ΠΈΠ³Ρ€Ρ‹, Π·ΠΌΠ΅ΠΉΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ своС состояниС. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° столкновСниС с Π΅Π΄ΠΎΠΉ ΠΈ стСнами, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠ΅Π΄Π°Π½ΠΈΠΈ Π΅Π΄Ρ‹.

# ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ
head_x, head_y = snake[0]
new_head_x = head_x + direction_x * cell_size
new_head_y = head_y + direction_y * cell_size
snake.insert(0, (new_head_x, new_head_y))
snake.pop()

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° столкновСния со стСнами ΠΈ Π΅Π΄ΠΎΠΉ

# Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠ΅Π΄Π°Π½ΠΈΠΈ Π΅Π΄Ρ‹

ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° сцСны

ПослС обновлСния состояния ΠΈΠ³Ρ€Ρ‹, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ сцСну. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Pygame для отрисовки Π·ΠΌΠ΅ΠΉΠΊΠΈ, Π΅Π΄Ρ‹ ΠΈ Ρ„ΠΎΠ½Π°.

# ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° экрана
screen.fill((0, 0, 0))

# ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° Π·ΠΌΠ΅ΠΉΠΊΠΈ

# ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° Π΅Π΄Ρ‹

# ОбновлСниС экрана
pygame.display.flip()

ОбновлСниС экрана

НаконСц, послС отрисовки сцСны, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ экран для отобраТСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ pygame.display.flip() для этого.

pygame.display.flip()

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹

Когда ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ. Для этого, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° столкновСниС Π·ΠΌΠ΅ΠΉΠΊΠΈ со стСнами ΠΈΠ»ΠΈ самой собой Π² Π³Π»Π°Π²Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΈΠ³Ρ€Ρ‹.

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° столкновСниС со стСнами ΠΈ самой собой
game_over = False

if new_head_x < 0 or new_head_x >= width or new_head_y < 0 or new_head_y >= height:
    game_over = True

if (new_head_x, new_head_y) in snake[1:]:
    game_over = True

if game_over:
    running = False

Π˜Ρ‚ΠΎΠ³

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ простой шаблон для создания ΠΈΠ³Ρ€Ρ‹ "Π—ΠΌΠ΅ΠΉΠΊΠ°" Π½Π° языкС Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ счСта, ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ слоТности ΠΈΠ»ΠΈ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ эффСкты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Π΅Ρ‰Π΅ интСрСснСС. Π£Π΄Π°Ρ‡ΠΈ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π—ΠΌΠ΅ΠΉΠΊΠ° Π½Π° Python Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚ [ Pygame ]

Π£Ρ€ΠΎΠΊΠΈ Python / Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Π—ΠΌΠ΅ΠΉΠΊΠ° (ΠœΠ°ΡΡ‚Π΅Ρ€-класс)

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Π½Π° Python ΠΏΠΎΠ΄ Android? (PyGame)

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ” Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ словарик Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ логичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² Python? ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС

Как ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ слова Π² спискС Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? πŸ“

🐍 Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Π·ΠΌΠ΅ΠΉΠΊΡƒ Π½Π° Python: пошаговоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ“ Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ тСкст Π² label python: простой способ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

πŸ”’ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ копию Ρ„Π°ΠΉΠ»Π° Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простыС шаги для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ πŸ”’

πŸ”‘ Π’Π°ΠΆΠ½Ρ‹Π΅ знания для senior python Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°: Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ