max()和min()python

时间:2017-04-26 10:23:40

标签: 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(" ") + 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()函数,但我一次只能使用一个函数,我需要将它们用于同一个参数。

1 个答案:

答案 0 :(得分:1)

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

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

这大致等同于

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

在这种情况下,您调用maxmin的顺序无关紧要。所以以下内容也可以正常工作:

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