👋 Мини-кейс по ООП немного затянулся, планировалось завершение видео на этой неделе.
А пока готовится видос, посмотрите один из вариантов, как вас могут потенциально кинуть на время и проект
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Мотивация: делай проекты под себя
Лучший способ учиться — решать свои проблемы кодом.
Нужен трекер привычек? Напиши его на Python. Хочешь напоминание о дедлайнах? Сделай бота.
Так ты получаешь опыт, а потом этот проект можешь продать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from INNOPROG
Media is too big
VIEW IN TELEGRAM
ЧАСТЬ 2: Task Mate
Мини-курс по разработке менеджера задач на Python от команды @innoprog
В этом уроке мы создадим полноценное консольное приложение Task Mate. Вы научитесь:
1. Создавать и сохранять задачи в файл
2. Добавлять новые задачи с описанием
3. Отмечать задачи как выполненные
4. Просматривать список всех задач
5. Удалять задачи из списка
6. Работать с файлами для сохранения данных между запусками
В конце урока у вас будет готовый менеджер задач! ✅
Мини-курс по разработке менеджера задач на Python от команды @innoprog
В этом уроке мы создадим полноценное консольное приложение Task Mate. Вы научитесь:
1. Создавать и сохранять задачи в файл
2. Добавлять новые задачи с описанием
3. Отмечать задачи как выполненные
4. Просматривать список всех задач
5. Удалять задачи из списка
6. Работать с файлами для сохранения данных между запусками
В конце урока у вас будет готовый менеджер задач! ✅
👏5 4 3 1
Forwarded from INNOPROG — здесь об IT
📌Ни для кого не секрет, что сейчас нейросети активно помогают разработчикам писать код, завершать проекты и решать точечные задачи. Но, несмотря на очевидные плюсы, важно помнить: это лишь инструмент, который упрощает работу, а не заменяет умения и навыки, приобретённые годами.
В сегодняшнем посте преподаватель INNOPROG Артемий рассказывает, как же использовать нейросети во благо и получать максимальный результат от них🙌
В сегодняшнем посте преподаватель INNOPROG Артемий рассказывает, как же использовать нейросети во благо и получать максимальный результат от них🙌
Если работаешь над несколькими проектами — всегда используй
venv!python -m venv venv
source venv/bin/activate # для Linux/macOS
venv\Scripts\activate # для Windows
Это изолирует библиотеки и избавит от конфликтов между проектами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодняшний "заказчик" сразу написал в личку Telegram. Предложение на бирже в основном однотипное: массовая скупка ботов/скриптов, ТЗ не соответствовало заказу на Kwork.
В сообщениях виднеется попытка манипуляции. Одна из таких звучит примерно как: Я тебя выбрал из 40 других, тебе повезло
Обыкновенный "чёрный" спам-бизнес: массовое добавление тг пользователей в каналы/группы и реклама либо СКАМ проектов, либо чего похуже.
#ПроСКАМ #Фриланс
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯6 5 3
👋 Сегодня разберём интересный и очень практичный кейс по ООП — мини-боёвку, где персонажи разных рас сражаются между собой. Код работает как маленькая RPG: есть маги, эльфы, гномы, орки, люди — и у каждого свой стиль атаки, защита и реплики.
Почему этот проект полезен?
Потому что он показывает реальное применение ООП, а не абстрактные «фрукты» и «животных».
Здесь задействованы:
Проект запускается через интерактивный выбор персонажей — после чего все герои поочерёдно нападают друг на друга, пока не останется один победитель.
В этом посте разберём основу — базовый класс Hero и архитектуру проекта.
Hero — это фундамент. Он задаёт общую структуру для всех персонажей.
name — имя героя
type — раса
hp — текущее здоровье
hp_default — максимальное здоровье (для отображения)
damage — базовый урон
id — уникальный ID (нужен, чтобы герой не атаковал сам себя)
Дальше идут методы, которые должны существовать у каждого героя, но в базовом классе они не реализованы:
☀️ attack☀️ set_damage☀️ speak
То есть базовый класс — чистый шаблон, который говорит:
"Вот что должен уметь любой герой. А как именно — решай в дочернем классе."
Это и есть идея полиморфизма.
Потому что дальше все расы (маг, эльф, орк…) наследуют от Hero и просто переопределяют нужное поведение:
Каждый класс — своя мини-механика.
В следующем посте мы разберём каждый тип персонажа и их уникальные способности — это самая «вкусная» часть проекта❗️
А после этого, в посте №3 — посмотрим, как работает сама битва и игровой цикл.
Продолжение скоро!👨💻
#КейсыPython #ООП #CodeShadow
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4 4 3
📚 Микро-скрипт: автоматическая нумерация файлов
Если в папке куча файлов, добавь им номера в названиях:
Отлично подходит для сортировки фотографий, документов или лабораторных.
Если в папке куча файлов, добавь им номера в названиях:
code
import os
for i, file in enumerate(os.listdir(".")):
os.rename(file, f"{i+1}_{file}")
Отлично подходит для сортировки фотографий, документов или лабораторных.
Media is too big
VIEW IN TELEGRAM
Кейс: РПГ с применением ООП Python.
Завтра выходит пост с исходником игры, а сегодня в 20:00 по МСК выйдет пост по библиотеке rich! Ставьте на заметку✔️
Завтра выходит пост с исходником игры, а сегодня в 20:00 по МСК выйдет пост по библиотеке rich! Ставьте на заметку
Please open Telegram to view this post
VIEW IN TELEGRAM
Если ты делаешь консольный проект, ты наверняка сталкивался с тем, что он выглядит… скучно.
Текст выводится сухо, всё статично, атмосферы — ноль.
Когда я делал свою мини-RPG, хотелось добавить хоть немного "магии":💃
чтобы битва ощущалась, а не просто печаталась как список чисел.
И тут на сцену выходит rich — библиотека, которая превращает обычную консоль в стильный интерфейс почти без усилий.
В моём проекте она отвечает за два эффекта:
1. Анимация боя — прогресс-бар, который создаёт ощущение хода битвы
2. Анимация удаления павших героев — небольшая «чистка поля», тоже через прогресс-бар
И самое главное — rich позволяет делать это буквально в несколько строк.
Вот пример:
from rich.progress import Progress
def start_animation():
with Progress() as battle:
task = battle.add_task("[red]Идёт битва...", total=5)
while not battle.finished:
battle.update(task, advance=0.3)
Это всё.
И уже есть красивая анимация!
──────────────────
В файле animation_battle.py два ключевых метода:
Эти анимации запускаются прямо посреди игрового цикла, и благодаря им:
Rich — это как спецэффекты в кино: сюжет тот же, но ощущения другие.
Если ты работаешь с консолью и хочешь сделать интерфейс:
💻 красивым💻 читаемым💻 выразительным💻 динамичным
…rich — идеальный вариант.
Это один из тех инструментов, которые дают много «вау-эффекта» при минимуме кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Продолжаем наше погружение в ООП-битву ⚔️
В прошлом посте мы рассмотрели основу — базовый класс Hero.
Теперь самое интересное — классы персонажей, каждый со своим характером и механикой.
Маг — самый «умный» герой. Он не просто атакует, он ещё кастует защиту, которая уменьшает входящий урон.
Уникальное в классе:
Маг — сбалансированный герой: всегда бьёт одинаково, но защищается непредсказуемо.
🧝 Эльф (Elf)
Эльф — герой точности. Он может нанести критический урон, если ему «повезёт».
Уникальное:
Эльф — герой про «когда повезёт — больно».
🪓 Гном (Dwarf)
Гном — настоящий танк. Он может… получить дополнительный урон.
Да-да, у гнома пассивка работает против гнома.
Passive ≠ buff
Passive = иногда усиливает входящий урон
Но иногда именно этот «каменный рандом» делает игру интересной.
Человек — самый простой и честный герой. Но у него есть козырь: уклонение.
Орк живёт ради ярости.
У него есть шанс получить +2…+10 к своей атаке.
Если ярость не прокнула — обычный удар.
Орк — герой про минимальную стабильность и максимальный риск.
Очень важный навык ООП-разработчика — уметь создавать дерево наследования, где каждый класс — самостоятельный персонаж с поведением.
Здесь:
В скором будущем мы разберём как работает игровой цикл, система атак, выживание, удаление павших и подключение анимаций из файла animation_battle.py.
Продолжение очень скоро ⚔️
ОСНОВНОЙ КОД ИГРЫ
#КейсыPython #ООП #CodeShadow
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4 3 2 1 1