#python #lambda #rgb
#python #лямбда #rgb
Вопрос:
У меня есть лямбда-код, использующий sty, который пытается создать цветной текст в функции, которую я могу просто вставить куда угодно. Однако, когда я запускаю свой код, функция не возвращает ничего (даже ничего!), И я не понимаю почему. Образец теста:
from sty import fg, bg
colored = lambda entered_string, rgb: fg(rgb[0], rgb[1], rgb[2]) bg(128, 128, 128) entered_string fg.rs
print(colored('hello world', (0, 255, 0)))
Ожидаемый (и желаемый) результат будет «hello world», напечатанный зеленым цветом. Однако, как я уже говорил ранее, ничего не печатается, даже ‘None’! Он просто переходит прямо к «Процесс завершен с кодом выхода 0».
Комментарии:
1. что делают функции
fg
andbg
?2. Это не будет иметь ничего общего с лямбдами.
fg.rs
Должно бытьrs.fg
, хотя?3. fg задает цвет текста, bg задает цвет фона, если вы поместите .rs после любого из них, он сбрасывается до значения по умолчанию.
4. @Carcigenicate нет. Я получил
NameError: name 'rs' is not defined1
5. На самом деле, не удается воспроизвести. Этот код работает для меня. Наиболее вероятным объяснением является то, что ваша консоль не поддерживает escape-коды ANSII, которые, вероятно, используются за кулисами.
Ответ №1:
Я думаю, что вы запускаете этот код в неправильной среде. В записной книжке jupyter он соответствует описанию желаемого результата:
Комментарии:
1. интересно; он работал раньше, но потом просто случайно остановился. Я предположил, что что-то перепутал и не смог воспроизвести то, что у меня было раньше