Python:毎日1題145:RGB色値の変換


タイトル:RBG色値の変換
ページ内の色値の設定はすべて16進数のRGBで表されることを知っています.例えば、FFFFはR:255、G:255、B:255の白を表しています.
RGBの16進数から10進数に変換するか、10進数から16進数の出力フォーマットに変換する関数を設計します.
例:
print( color("#FFFFFF"))
>>>(255, 255, 255) 
print( color((255,255,255))
>>> #FFFFFF
Pythonソース:
def color(value):
    digit = list(map(str, range(10))) + list("ABCDEF")
    if isinstance(value, tuple):
        string = '#'
        for i in value:
            a1 = i // 16
            a2 = i % 16
            string += digit[a1] + digit[a2]
        return string
    elif isinstance(value, str):
        a1 = digit.index(value[1]) * 16 + digit.index(value[2])
        a2 = digit.index(value[3]) * 16 + digit.index(value[4])
        a3 = digit.index(value[5]) * 16 + digit.index(value[6])
        return (a1, a2, a3)