Inheritance in Python

0

I am learning python and I am practicing the inheritance in the classes I can not manage to make the code when the motoElecrica class uses the method doingWilly without having used the "start" method to show me a message that first I must start what I achieve is that it is printed on the console that the electric motorcycle is "doing willy" even when the start method is not used. This is my code

class Vehiculos():
    def __init__(self, marca, modelo):

        self.marca=marca
        self.modelo=modelo
        self.__enmarcha=False
        self.acelera=False
        self.frena=False

    def arrancar(self, arrancamos):

        self.__enmarcha=arrancamos

        if(self.__enmarcha):
            chequeo=self.__chequeo_interno()

        else:
            return False


        if(self.__enmarcha and chequeo):

            return True and print("El vehiculo está en marcha")


        elif (self.__enmarcha and chequeo==False):

            return False and print("El chequeo no fue exitoso. No se puede arrancar")

        else:

            return False and print("El vehiculo esta parado")


    def __chequeo_interno(self):

        print("Inicializando de chequeo interno")

        self.gasolina="ok"
        self.aceite="ok"

        if (self.gasolina=="ok" and self.aceite=="ok"):

            return True

        else:
            return False


    def acelerando(self, acelerando):

        self.acelera=acelerando

        frenamos=self.frena

        if (self.__enmarcha and self.acelera and frenamos==False):

            return print("El vehiculo está acelerando")

        elif (self.__enmarcha==False and self.acelera and frenamos==False):

            return print("Arrancar el vehiculo primero por favor")

        elif (self.acelera and frenamos):

            return print("No es posible acelerar y frenar al mismo tiempo")


    def frenando(self, frenando):

        self.frena=frenando

        aceleramos=self.acelera

        if(self.__enmarcha and self.frena and aceleramos==False):

            return print("El vehiculo esta frenando")


        elif (self.__enmarcha==False and self.frena and aceleramos==False):

            return print("Arrancar el vehiculo primero por favor")


        elif (self.frena and aceleramos):

            return print("No es posible acelerar y frenar al mismo tiempo")


    def estado(self):

        print("Marca: ", self.marca, "\nModelo: ", self.modelo)


#SUB CLASE

print("-----VEHICULO 1-----")

class moto(Vehiculos):

    def haciendoWilly(self, haciendoWilly):

        andando=self.arrancar


        if(andando and haciendoWilly):

            return print("La moto esta haciendo willy")

        elif(haciendoWilly==False):

            return print("No se esta haciendoWilly")

        elif(andando==False and haciendowilly==True):
            return print("Primero arrancar la moto por favor")



miMoto=moto("Honda", "CBR")

miMoto.estado()

miMoto.arrancar(True)

miMoto.acelerando(True)

miMoto.frenando(False)

miMoto.haciendoWilly(True)

print("------------------------------------------")

#SUB CLASE

print("-----VEHICULO 2-----")

class chata(Vehiculos):

    def carga (self, carga):

        print("El vehiculo soporta una carga máxima de 250 kg")

        carga=int(input("Ingrese el valor en kg de la carga "))

        if(carga>0 and carga<=250):

            return print("El vehiculo esta cargado")

        elif(carga==0):

            return print("El vehiculo NO esta cargado")

        elif(carga<0):

            return print("Por favor ingresar un valor POSITIVO")

        elif(carga>250):

            return print("La carga excede el límite y podría dañar el vehículo")

miChata=chata("Toyota", "Hilux")

miChata.carga(True)

miChata.arrancar(True)

miChata.frenando(True)

print("------------------------------------------")

#SUB CLASE

print("-----VEHICULO 3-----")

class electricos(Vehiculos):

    def __init__(self, marca, modelo):

        self.marca=marca
        self.modelo=modelo
        self.__enmarcha=False
        self.acelera=False
        self.frena=False
        self.autonomia=450
        self.carga=False

    def cargando(self, cargando):

        self.carga=cargando

        if (cargando):

            print("El vehiculo se esta cargando")

        else:

            print("El vehiculo NO se esta cargando")


miElectrico=electricos("Tesla", "Roadster")

miElectrico.cargando(True)

miElectrico.arrancar(True)
print("------------------------------------------")

#SUB CLASE

print("-----VEHICULO 4-----")

class motoElectrica(electricos, moto):

    pass


miMotoE=motoElectrica("Narol", "ATR")

miMotoE.arrancar(False)

miMotoE.haciendoWilly(True)
    
asked by Santiago 16.12.2017 в 04:19
source

0 answers