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,你是对的!我很抱歉。