Форматирование текста в Python без импортов

В книге Виктора Трофимова о программировании игр есть раздел об игре «Казино 678». Для того, чтобы на экране было весело, автор предлагает раскрашивать текст в разные цвета. Для этого он подключает модуль ctypes и использует длинный страшный код.

windll.Kernel32.GetStdHandle.restype = c_ulong
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))

def color(c)
    windll.Kernel32.SetConsoleTextAttribute(h, c)

В таком подходе три минуса:

  1. Сразу не разобраться, что написано в коде
  2. Подключаем модуль, который для других целей не нужен
  3. Кроме цвета нельзя добавить другое форматирование

Я решил использовать ASCII-цвета и форматирование. Это сразу решает три проблемы, указанные выше и делает программу гибкой. Для удобства написал функцию, которая принимает в себя аргументы с тегами и текстом, который будем оформлять.

Вот, что в итоге получилось. Забирайте код по ссылке, пользуйтесь, наслаждайтесь :)

Поделиться
Отправить
Запинить
 34   4 мес   задачи
Популярное