我得到一个错误的定义函数“getTempo”,我不知道为什么。。。谢谢你的帮助。你知道吗
示例:
L=[Musica("aerossol",4.9),Musica("lua",5.3),Musica("monte",3.2),Musica("rita",4.7)];getTempo("lua",L)
应给出:
你知道吗lua:5.3你知道吗
第5.3条
class Musica:
def __init__(self,nome,tempo):
self.nome=nome
self.tempo=tempo
def __repr__(self):
return self.nome+":"+str(self.tempo)
def getTempo(nomeMusica,ListaMusicas):
if ListaMusicas==[]:
print ("Inexistente")
else:
meio=len(ListaMusicas)//2
print (ListaMusicas[meio])
A = [i[0] for i in ListaMusicas]
B = [i[1] for i in ListaMusicas]
if nomeMusica==A[meio]:
print (B[meio])
elif nomeMusica<A[meio]:
return getTempo(nomeMusica,ListaMusicas[:meio])
else:
return getTempo(nomeMusica,ListaMusicas[(meio+1):])
在
python
中,与Java
或C++
等语言不同,实例属性和方法必须在实例上访问,因此必须编写self.getTempo
,以便getTempo
进行解析。你知道吗编辑-选择性读取失败
您还需要确保所有方法定义都包含类实例本身的参数,该参数将是传递的第一个参数。按照惯例,这是
self
参数,但它可以是您选择的任何名称。以下是修改后的函数定义:相关问题 更多 >
编程相关推荐