Не уверен, есть ли предпочтительный способ добиться этого;Вот быстрый подход, который использует крошечный шаблон html
и IPython.display.display_html
:
from IPython.display import display_html
def to_html(text, r, g, b):
return "<var style='background-color:rgb({}, {}, {});'>{} </var>".format(
r, g, b, text
)
example = "A quick brown fox jumps over the lazy dog.".split()
res = ''.join(to_html(word, *np.random.randint(0,256,size=3)) for word in example)
display_html(res, raw=True)
В результате чего-то вроде этого:
<var style='background-color:rgb(144, 237, 221);'>A </var><var style='background-color:rgb(28, 208, 84);'>quick </var><var style='background-color:rgb(142, 241, 214);'>brown </var><var style='background-color:rgb(67, 199, 115);'>fox </var><var style='background-color:rgb(121, 120, 116);'>jumps </var><var style='background-color:rgb(251, 46, 48);'>over </var><var style='background-color:rgb(128, 147, 44);'>the </var><var style='background-color:rgb(48, 215, 5);'>lazy </var><var style='background-color:rgb(239, 90, 48);'>dog. </var>