Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
max()和min()python_Python_Python 3.x_Max_Min - Fatal编程技术网

max()和min()python

max()和min()python,python,python-3.x,max,min,Python,Python 3.x,Max,Min,我有一个简单的问题,但我不知道如何解决它 这是我的代码,到目前为止: class CorRGB: def __init__(self, red, green, blue): self.r = min(1.0,red); self.g = min(1.0,green); self.b = min(1.0,blue); def __repr__(self): return str(self.r*255) + str

我有一个简单的问题,但我不知道如何解决它

这是我的代码,到目前为止:

class CorRGB:

    def __init__(self, red, green, blue):
        self.r = min(1.0,red);
        self.g = min(1.0,green);
        self.b = min(1.0,blue);


    def __repr__(self):
        return str(self.r*255) + str(" ") + str(self.g) + str(" ") + str(self.b)


c1 = CorRGB(10.0, -4.0, 0.1)
print(str(c1))

因此,如果r、g、b值大于1.0,则必须返回1.0。如果r,g,b值小于0.0,则必须返回0.0。我必须使用
min()
max()
函数,但我一次只能使用一个函数,我需要将它们用于同一个参数。

这种情况下的一个常见习惯用法是将一个函数的结果作为另一个函数的参数传递:

self.r = min(max(red, 0.0), 1.0)
这大致相当于

temp = max(red, 0.0)
self.r = min(temp, 1.0)
在这种情况下,您调用的是
max
min
顺序并不重要。因此,以下方法也可以:

self.r = max(min(red, 1.0), 0.0)

... <代码>最小值(1.0,最大值(颜色,0.0))?谢谢!!!我觉得很傻,为什么要用min()和max()?你不能只使用内联if语句,比如
self.red=red if 0
@DSLima90我认为你的语句对于负数是错误的,负数被映射到1.0而不是0.0。@ChristianKönig,你是对的!我很抱歉。