Skip to main content
 首页 » 编程设计

python之将数字限制在一个范围内

2025年05月04日13mate10pro

现在,我有将 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))