[*] pr0gramm1ng basics
24 subscribers
50 photos
11 videos
20 files
41 links
Обзор различных кодов и импортируемых библиотек, информация об обновлениях и многое другое у меня на канале.
Download Telegram
Всем привет 👋

Проект доделан. Главный файл написан. Исправляю баги и ошибки. Делаю Readme.md и выкладываю на GitHub. После выкладываю пост в телеграмм и делаю видео в тик ток. А там уже посмотрим (может сразу выкачу обнову с новыми фичами)

На этом пока всё 🤐

#python #ball_head_game
Всем привет 👋

Баги (которые я нашёл в проекте пока его тестировал) были устранены. Сейчас я проверю проект (проверю docstrings), потом напишу Readme.md (не знаю сколько по времени займёт, потому что проект довольно объёмный) и выкладываю на GitHub, делаю пост и видео в Tik Tok. Возможно проект выйдет на просторы интернета сегодня или завтра (ждите 🥳).

#python #ball_head_game
Всем привет 👋

Проект моей игры сегодня утром был выложен на 👉 GitHub 👈

🧑 В этой игре ты должен головой лопать шарики, которые появляются на экране. Есть 3 режима игры:

1️⃣. Singleplayer: одиночная игра 🤵

2️⃣. Local multiplayer: локальный многопользовательский режим. В нём ты можешь играть со своими друзьями 🎭

3️⃣. Time mode: режим игры, в котором ты должен за определённое время лопнуть как можно больше шаров 🎈

📊 Эта игра также ведёт статистику. Она сохраняет графики, NumPy движок, JSON-файлы с рекордами и статистикой игры, ведёт игровой лог для отладки и сохраняет SEED, который был использован для создания NumPy движка.

📄 Версия игры: 1.0

#python #ball_head_game #project
1
Я удалил репозиторий.

Вот в чём проблема: вчера я удалил последний коммит. Видимо этот коммит повлиял на проект. Кароче проект не рабочий. Сейчас придётся его исправлять 😔

#python #ball_head_game
Кароче ребята, Я всеми силами пытался восстановить файлы проекта с помощью git и у меня получилось, но не все. Самый главный файл игры был уничтожен навсегда. У меня не получилось его восстановить. Если успею переписать главный файл, то выпущу сегодня. В ином случае снова придётся перенести выпуск на завтра 😔

Я расстроен 😮‍💨

#python #ball_head_game
Ребят, репозиторий обновлён. Проект выложен заново (теперь уже рабочий) 🥳🥳🥳🥳🥳

👉 Ссылка 👈

#ball_head_game #python
1🔥1
Я добавил релиз с архивами игры. Теперь я считаю проект можно называть завершённым. Я буду добавлять в него новые фичи и фиксить баги, ну а сейчас мне нужен отдых, примерно на неделю. Всем удачи 👋

Кстати, теперь я буду пытаться делать посты каждый (ведь больше проект меня не тревожит)

#ball_head_game #python
1
Всем привет 👋

💻 typer - библиотека для создания CLI-интерфейсов. Она позволяет из обычной функции с аннотациями типов сделать полноценную консольную утилиту

Установка:
pip install typer


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

import typer
import math

app = typer.Typer() # создаём главный объект typer

@app.command() # декоратор для создания консольной команды
def hello(name: str): # команда hello. Обязательный атрибут: name
"""Says hello to a specific person (name)

Args:
name (str): the name of the person we want to say hello
"""
typer.echo(f'Hello, {name}') # выводит в консоль ответ команды

@app.command() # декоратор для создания консольной команды
def calc_planet_mass(
period: float = typer.Option(3600, help='satellite orbital period (seconds)'),
orbit_radius: float = typer.Option(7000000, help='orbit radius (meters)'),
G: float=6.67430e-11
): # команда calc-planet-mass. Атрибуты: --period 3600, --ordit-radius 7000000
"""Calculates the mass of the planet

Args:
period (float, optional): satellite orbital period (seconds). Defaults to typer.Option(3600, help='Period').
orbit_radius (float, optional): orbit radius (meters). Defaults to typer.Option(7000000, help='Orbit radius').
"""
mass = (4 * math.pi**2 * orbit_radius**3) / (G * period**2)
earth_mass = 5.972e24
typer.echo(f'Mass planet: {mass:.2e}') # выводит в консоль полученную массу планеты
typer.echo(f'It {mass/earth_mass:.3f} mass earth') # выводит в консоль количество планет земля в отношении массы планеты

if __name__ == '__main__':
app() # запускаем


Теперь если мы напишем:
python cli_app.py hello Oleg
# Выведет: Hello, Oleg

python cli_app.py hello Alina
# Выведет: Hello, Alina

typer cli_app.py run hello Roma
# Выведет: Hello, Roma

typer cli_app.py run hello Alla
# Выведет: Hello, Alla


Это будет с командой hello. Вот что будет с другой командой:
python cli_app.py calc-planet-mass
# Выведет:
# Mass planet: 1.57e+25
# It 2.621 mass earth

python cli_app.py calc-planet-mass --period 3000 --orbit-radius 9000000
# Выведет:
# Mass planet: 4.79e+25
# It 8.023 mass earth

typer cli_app.py run calca-planet-mass
# Выведет:
# Mass planet: 1.57e+25
# It 2.621 mass earth

typer cli_app.py run calc-planet-mass --period 3000 --orbit-radius 9000000
# Выведет:
# Mass planet: 4.79e+25
# It 8.023 mass earth


Вообщем эта библиотека подойдёт для создания небольших CLI инструментов

#typer #cli #python #libraries