Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
Chris Jullienne
2,458 PointsNo puedo obtener resultado igual en el video __eq__ dentro de Python Orientado a Objetos Básico
¿Podría alguien revisar mi código a continuación para ver por qué no obtengo igualdad al comparar car_one y car_two?
class Car:
# Atributos de clase
ruedas = 4
puertas = 2
motor = Verdadero
# El inicializador
def __init__(self, model, año, hacer='Ford', gasolina=100):
# Atributos de Instancia
self.hacer = hacer
self.model = model
self.año = año
self.gasolina = gasolina
# los atributos de instancia no tienen
# que ser pasados
self.is_moving = False
def __str__(self):
return f'{self.make} {self.model} {self.year}'
def usar_gasolina(self):
self.gasolina -= 50
if self.gasolina <= 0:
return False
return Verdadero
def detener(self):
if self.is_moving:
print('El auto se ha detenido.')
self.is_moving = False
else:
print('El auto ya se ha detenido.')
def go(self, velocidad):
if self.usar_gasolina():
if mantiene self.is_moving:
print('El auto comienza a moverse.')
self.is_moving = Verdadero
print(f'El auto va a {speed}.')
else:
print(¡Se te acabó la gasolina!)
self.detener()
class Concesionario:
def __init__(self):
self.cars =
def __iter__(self):
yield from self.cars
def __eq__(self,otro):
return self.hacer == otro.hacer y self.model == otro.model
def agregar_auto(self, car):
self.cars.append(car)
car_one = Car(Ka, 2020)
car_two = Car(Ka, 2020)
car_three = Car(Fiesta, 2000)
if car_one == car_two:
print('equal')
else:
print('not equal')
#mi_concesionario = Concesionario()
#mi_concesionario.agregar_auto(auto_uno)
#mi_concesionario.agregar_auto(auto_dos)
#mi_concesionario.agregar_auto(auto_tres)
#for auto in mi_concesionario:
# print(auto)
1 Respuesta
Andy Hughes
8,479 PuntosHola Chris,
Verifica la ubicación de tu eq función. En este momento, está fuera de tu clase Car. Acabo de probar el código con ella en el lugar correcto y funciona bien. :)
Espero que ayude.