Я пишу текстовую игру на Python.Я написал функцию, которая берет список слов и меняет их цвет, оставляя остальные белыми.
def highGreen(text, words):
textWords = text.split(" ")
highlight = set(textWords).intersection(words)
for word in textWords:
if word in highlight:
print("\033[32m", end="")
print(word, end=" ")
else:
print("\033[0m", end="")
print(word, end=" ")
Моя проблема в том, что я не могу совместить эту функцию с textwrap.wrap
или.fill
, поэтому при печати на консоли слова разбиваются в случайных местах.
Я пробовал:
text = "This bed is super uncomfortable."
for line in textwrap.wrap(text, 80):
highGreen(line, ["bed"])
, но все равно печатает все в одной строке.
Раскраска выполняется таким странным образом, потому что больше ничего, что я пробовал, не работало в консоли Windows 10 / PyCharm.