我正在创建这两种方法,在第一种方法中,我从车辆名称验证车辆的存在。在第二种情况下,打算添加一辆新车,首先验证是否有具有特定名称的车辆,以避免结果重复。然而,我总是得到描述的错误
我能做些什么来防止这种情况发生?只有preco_base
属性是可变的
def exists_viatura(self, nome):
for v in self.gestor:
if v.nome == nome:
return True
else:
print("Não existe nenhuma viatura")
def add_viatura(self, new_v):
for v in self.gestor:
new_v = Viatura(new_v.nome, new_v.modelo, new_v.tipo_electrica, new_v.preco_base)
if g.exists_viatura(new_v.nome):
print("Já existe uma viatura com esse nome")
self.gestor.append(new_v)
我发现以下错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:/Users/sandr/PycharmProjects/projecto/Classes_Projecto.py", line 189, in add_viatura
new_v = Viatura(new_v.nome, new_v.modelo, new_v.tipo_electrica, new_v.preco_base)
AttributeError: 'str' object has no attribute 'nome'
课程包括:
class Viatura:
def __init__(self, nome, modelo, tipo_electrica, preco_base):
self.__nome = nome
self.__modelo = modelo
self.__tipo_electrica = tipo_electrica #Como saber se uma bicicleta é eléctrica ou não?
self.preco_base = preco_base
@property
def nome(self):
return self.__nome
@property
def modelo(self):
return self.__modelo
@property
def tipo_electrica(self):
return self.__tipo_electrica
class Gestor:
def __init__(self):
self.gestor = []
如果new_v实际上不是Viatura对象(因为您正在尝试使用字符串添加它),那么应该将其余属性传递给add_Viatura
猜猜看,不知道这是什么类
g
?你叫它g.exists_viatura()
相关问题 更多 >
编程相关推荐