Вот код, который должен плавно менять цвет с одного на другой:
def make_color(k, color1='#ff0000', color2='#00ff00'):
diff = int(color2[1:], base=16)-int(color1[1:], base=16)
color = hex(int(color1[1:], base=16)+int(diff*k))[2:]
l = 6-len(color)
return '#'+l*'0'+color
Когда я запускаю его, он не меняет цвет плавно. Цвет правильный только для некоторых значений k
(включая 1 и 0). В противном случае возвращается неправильный цвет. Как это исправить?