Надо получить линии разного цвета. Количество линий при этом заранее неизвестно, их может быть достаточно много.
Для каждой линии цвет определяется случайным образом.
Осталось непонятным, как переводится десятичное представление числа в шестнадцатеричный формат.
import random
from tkinter import *
def func_color():
r = int(random.random() * 256)
g = int(random.random() * 256)
b = int(random.random() * 256)
rgb = "#%02x%02x%02x" % (r,g,b)# перевод десятичного представления
return rgb # в шестнадцатеричное
window = Tk()
canv = Canvas(window,width=200,height=500,bg="white")
y = 30
while y < 480:
canv.create_line(50,y,150,y,width=2,fill=func_color())
y += 20
canv.pack()
window.mainloop()