def печать(
        текст, 
        красный=False,
        зеленый=False, 
        синий=False, 
        желтый=False, 
        стиль=None, 
        не_печатать = False
):

    def определить_стиль(стиль):
        if стиль==None:
            return ""    
        
        СТИЛИ  = {
            "ж":1, 
            "к":3, 
            "ч":4, 
            "з":9 
        }
        накопительная = ""
        for буква in стиль:
            код_стиля = СТИЛИ.get(буква)
            этот_стиль = f";{код_стиля}"
            накопительная+=этот_стиль
        return накопительная
        # при комбинировании жирного и зачеркнутого должеен получиться результат
        # ;1;9
        # курсивый и подчеркнутый - ;3;4
        # жирный и курсивый - ;1;3

    # ОПРЕДЕЛЕННЫЕ СИМВОЛЫ В НАЧАЛЕ И В КОНЦЕ НАПИСАНЫ НА С++ И ОТВЕЧАЮТ ЗА КОДИРОВКУ ЦВЕТА

    # первая часть строки задает стиль цвета и формат шрифта
    # \x1B[ - специальный набор символов, который включает этот режим настройки
    # 38;2; - говорит о том, что след три параметра будут цветом в формате RGB
    # 255;0;0; - цвет в формате RGB
    # 4 - подчеркнутый стиль шрифта
    # m - завершает настройку стиля

    #  последняя часть строки сбрасывает стиль в стандарт, чтобы все дальнейшее писалось обычным цветом
    # результат = "\x1B[38;2;255;0;0;4m" + текст + "\x1B[0m"

    готовый_стиль= определить_стиль(стиль)
    if красный:
        цвет = "255;0;0"
    elif зеленый:
        цвет="0;255;0"
    elif синий:
        цвет="0;0;255"
    elif желтый:
        цвет="200;190;0"
    else:
        цвет="255;255;255"

    результат = f"\x1B[38;2;{цвет}{готовый_стиль}m{текст}\x1B[0m"
    if не_печатать:
        return результат
    print(результат)

# если оставить строки с запуском функции внутри файла с модулем, то они будут выполнены в момент импорта этого модуля
# чтобы этого не допустить, но при этом оставить возможность тестировать этот файл модуля "прямо здесь", например, чтобы провести отладку, надо эти строки убрать внутрь блока "если", который будет проверять откуда запущен этот файл

# ЕСЛИ запуск произошел из этого файла (если он не импортируется): 
if __name__=="__main__":
    печать("123")
    красный = печать("красный", красный=True, не_печатать=True)
    зеленый = печать("зеленый", зеленый=True, не_печатать=True)
    разноцветная_строка = f"{красный} и {зеленый}"
    print(разноцветная_строка)
