Python关于十进制值转十六进制的题
rgb 功能不完整。完成它,以便传入 RGB 十进制值将导致返回十六进制表示。
RGB 的有效十进制值为 0 - 255。
任何超出该范围的值都必须四舍五入为最接近的有效值。
注意:您的答案应始终为 6 个字符长,3 的速记在这里不起作用。
以下是预期输出值的示例:
rgb(255, 255, 255) # returns FFFFFF
rgb(255, 255, 300) # returns FFFFFF
rgb(0,0,0) # returns 000000
rgb(148, 0, 211) # returns 9400D3
#自己写了一个,但是有一点问题,请在此基础上改一下
#或者更好的解决办法也行
def rgb(r, g, b):
rr = str(hex(r))[2:].upper()
gg = str(hex(g))[2:].upper()
bb = str(hex(b))[2:].upper()
for i in [rr,gg,bb]:
if '0' in i:
try:
if int(i):
return '{:02}{:02}{:02}'.format(int(rr),int(gg),int(bb))
except:
return '{}{}{}'.format(rr,gg,bb)
else:
return '{}{}{}'.format(rr, gg, bb)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你明显没有处理值超出范围,和不为整数的情况啊。