1. 程式人生 > 實用技巧 >【Atcoder】ABC183 F - Confluence 並查集+啟發式合併

【Atcoder】ABC183 F - Confluence 並查集+啟發式合併

題目:轉換RBG顏色值

我們知道在網頁中的顏色值設定都是用16進位制的RGB來表示的,比如#FFFFFF,表示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)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援碼農教程。