gpt4 book ai didi

python - 如何将小数转换为没有前缀 `0x` 的十六进制

转载 作者:行者123 更新时间:2023-11-28 22:33:50 27 4
gpt4 key购买 nike

def tohex(r, g, b):
#your code here :)
def hex1(decimal):
if decimal < 0:
return '00'
elif decimal > 255:
return 'FF'
elif decimal < 17:
return '0'+ hex(decimal)[2:]
else:
return inthex(decimal)[2:]
return (hex1(r) + hex1(g) + hex1(b)).upper()
print rgb(16 ,159 ,-137)

我定义了一个新方法来获取我的十六进制数。但是当涉及到 (16 ,159 ,-137) 时,我得到的是 0109F00 而不是 019F00。为什么多了一个0?

最佳答案

你有一个额外的零,因为该行应该是 elif decimal < 16不是 17 .

使用格式字符串1:

def rgb(r,g,b):
def hex1(d):
return '{:02X}'.format(0 if d < 0 else 255 if d > 255 else d)
return hex1(r)+hex1(g)+hex1(b)

print rgb(16,159,-137)

输出:

109F00

1 https://docs.python.org/2.7/library/string.html#format-specification-mini-language

关于python - 如何将小数转换为没有前缀 `0x` 的十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39524943/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com