Я видел функцию, которая преобразует шестнадцатеричные цветовые коды в RGB. но я не очень хорошо это понимал. Как это могло быть написано с многострочным циклом for? также, что делает эта строка:
hex[i:i + 2], 16
def hex_to_rgb(hex):
return tuple(int(hex[i:i + 2], 16) for i in (0, 2 ,4))
Спасибо.






Все, что он делает, это получает красное, зеленое и синее значение из шестнадцатеричного значения, преобразует его в целое число и возвращает их как кортеж. https://www.rapidtables.com/convert/color/how-hex-to-rgb.html
def hex_to_rgb(hex):
rgb_lst = []
for i in (0, 2, 4):
hex_int = int(hex[i: i + 2], 16) # convert to base 16 int
rgb_lst.append(hex_int)
return tuple(rgb_lst)
вы имеете в виду rgb_list.append(hex_int), да? list не имеет метода push. Также for i in (0, 2, 5) должен быть for i in (0, 2, 4), как в вопросе OP, это не range
for i in (0, 2, 4) тоже работает, for i in range(0, 5, 2) тоже
Работает хорошо, но почему вы добавляете hex_int в пустой список? Также каково значение hex_int?
для rgb нам нужно три значения: красный, зеленый и синий. предположим, что шестнадцатеричный цвет FF0000 красный. поэтому первые значения будут 255, 0, 0 для hex_int. мы добавляем их в rgb_lst, это будет [255, 0, 0]
Хорошо, понял. Спасибо
Привет, вы пробовали искать "понимание списка / кортежа / словаря"?