假设我有三个变量r, g, b
。如果这些变量中的任何一个是< 0
或> 255
,它们将分别四舍五入为0
和255
。
我对python的简单了解告诉我应该使用一堆if语句,我认为这既费时又不必要。还有其他方法吗?
if 255 > variable > 0:
你可以像这样简化数学参数。
rgb = (0,255,125)
check = [(0<=value<=255) for value in rgb]
print(sum(check)==3)
# -> True
检查是否所有值都符合条件。
如果您正在使用numpy
,并且您有一个值数组,您可以使用一行代码夹紧您的值:
import numpy as np
a = np.array([ ... values ...])
a[a > 255] = 255
a[a < 0 ] = 0
numpy
对向量的操作进行了优化,所以对于大量的值,numpy
可能也更快。
if r in range(0, 255):
# code
你可以看看你是否喜欢这个语法