проблема с range, list, insert, join

Задача такая: Исправить код, чтобы фон текста был радужным и без лишних пробелов

После выполнения кода, результат таков (жирный текст - красный текст)

helhel

Креветка, которую надо исправить:

from termcolor import colored

colors_list = [
    "red",
    "yellow", 
    "green", 
    "cyan", 
    "blue", 
    "magenta"
]

cmds = 'color rainbow hel'
cmds = cmds.split(' ')
del cmds[0]
del cmds[0]
teri = 0
for teri in range(len(cmds)):
    cmds.insert(teri, str(colored(cmds[teri], colors_list[teri])))
    teri += 1
cmds = ''.join(cmds)
print(cmds)

Если Вам не сложно, отправьте готовый код)

Всем удачи)))


Ответы (1 шт):

Автор решения: Xander
from itertools import cycle
from termcolor import colored

colors = cycle([
    "red",
    "yellow",
    "green",
    "cyan",
    "blue",
    "magenta"
])

text = 'color rainbow hel'

result = ''.join(colored(letter, color, attrs=['reverse'])
                 for (letter, color) in zip(text, colors)
                 )

print(result)
→ Ссылка