我必须创建这种类型的类颜色
class Color:
def __init__(self, r, g, b):
self.r = r
self.g = g
self.b = b
我必须创建这些方法:
-createatuple()返回对象颜色的元组(r、g、b)
-混合物(f),返回颜色的新实例,其值是当前实例与颜色f的混合物
我试过这个
>>>class Color:
def __init__(self, r, g, b):
self.r = r
self.g = g
self.b = b
def createatuple(self):
return (self.r, self.g, self.b)
def mixture(self, f):
self.r = int((self.r+f.r)/2)
self.g = int((self.g+f.g)/2)
self.b = int((self.b+f.b)/2)
return self.r
return self.g
return self.b
>>>color1 = Color(10,15,10)
>>>color1.createatuple()
(10,15,10)
>>>color2 = Color(20,5,200)
>>>color2.createatuple()
(20,5,200)
如果我想做:
>>>color1.mixture(color2).createatuple()
(15,10,105)
但我接收到“'str'对象没有属性'createatuple()”
怎么了
我不知道
mixture
应该做什么,但无论如何,它里面有3个return
语句。请注意,以return
开头的行结束整个方法,并返回值所以,在你的例子中,你总是返回
self.r
,这意味着,实际上,你在做self.r.createtuple()
。然而,self.r
显然没有这个方法,因为它不是一个Color
您的
mixture
方法没有生成新实例。它只返回self.r
值(多次使用return
不做任何事情;第一个结束方法)。我看不出你有什么办法;示例代码中没有str
。大概,您希望mixture
有这样的功能:相关问题 更多 >
编程相关推荐