https://www.codewars.com/kata/rgb-to-hex-conversion/python

十进制转十六进制并按格式输出。

我的代码:

def rgb(r, g, b):
    #your code here :)
    
    def OctToHex(num):
      if num <= 0:
        return "00"
      elif num >= 255:
        return "FF"
      mapping = ["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"]
      tmp = ""
      while num > 0:
        num, mod = divmod(num, 16)
#         print num, mod
        tmp += mapping[mod]
        
      return tmp[::-1] if len(tmp) == 2 else "0" + tmp
    
    return OctToHex(r) + OctToHex(g) + OctToHex(b)

大神的代码:

def rgb(r, g, b):
    round = lambda x: min(255, max(x, 0))
    return ("{:02X}" * 3).format(round(r), round(g), round(b))

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐