现在,我有将 R、G 和 B 颜色值转换为十六进制的代码。
但是,如果用户输入无效数字(例如 -20),它将返回一个完全随机的数字。
我的代码是:
def rgb(r, g, b):
if r < 0:
r = 0
elif r > 255:
r = 255
if g < 0:
g = 0
elif g > 255:
g = 255
if b < 0:
b = 0
elif b > 255:
b = 255
return '%02x%02x%02x'.upper() % (r,g,b)
但是,我不想把所有的 if/elif 语句都放上去,因为它们占用了太多空间。是否可以执行类似 r.range(0,255) 的操作将无效数字更改为最接近的数字?例如,-20 将更改为 0,300 将更改为 255。
如有任何帮助,我们将不胜感激。
请您参考如下方法:
我认为对于某些值,大多数人使用的习语看起来像这样:
maxValue = 255
minValue = 0
min(maxValue, max(minValue, value))
