kata

每日kata~06~int2hex

2020-05-06  本文已影响0人  Lacia

题目:

https://www.codewars.com/kata/513e08acc600c94f01000001

如果参数超出[0,255]范围,取离最近的合法值
rgb(255, 255, 255) # returns FFFFFF
rgb(255, 255, 300) # returns FFFFFF
rgb(0,0,0) # returns 000000
rgb(148, 0, 211) # returns 9400D3

我的solution
def int_to_hex(n):
    if n<0:
        n = 0
    elif n>255:
        n = 255

    r = (hex(n).split('0x'))[1]
    if r.isdigit() is False:
            r = r.upper()
            print(r)
    if len(r) < 2:      
        return '0'+r
    else:
        return r


def rgb(r, g, b):
    #your code here :)

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

简洁明了优美(:з」∠)

MEMO

{:02X} :X是16进制标准输出形式,02是2位对其,左侧补0
lambda忘光光,需要复习

上一篇下一篇

猜你喜欢

热点阅读