Problema POO

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Autor
    Entradas
  • #10144

    Wiliam B
    Participante

    Tengo este codigo del video de POO V,  y aun teniendolo igual al profesor no me sale
    <div style=»color: #d4d4d4; background-color: #000000; font-family: Consolas, ‘Courier New’, monospace; font-size: 14px; line-height: 19px; white-space: pre;»>
    <div><span style=»color: #569cd6;»>class</span> <span style=»color: #4ec9b0;»>Coche</span>(): <span style=»color: #608b4e;»>#Creo una clase</span></div>
    <div><span style=»color: #569cd6;»>def</span> <span style=»color: #dcdcaa;»>__init__</span> (<span style=»color: #9cdcfe;»>self</span>):</div>
    <div><span style=»color: #569cd6;»>self</span>.__largo_chasis=<span style=»color: #b5cea8;»>250</span> <span style=»color: #608b4e;»>#Creo una propiedad comun para todos los objetos (largo) #? PROPIEDAD</span></div>
    <div><span style=»color: #569cd6;»>self</span>.__ancho_chasis=<span style=»color: #b5cea8;»>120</span> <span style=»color: #608b4e;»>#Creo una propiedad comun para todos los objetos (ancho) #? PROPIEDAD</span></div>
    <div><span style=»color: #569cd6;»>self</span>.__ruedas=<span style=»color: #b5cea8;»>4</span> <span style=»color: #608b4e;»>#Creo una propiedad comun para todos los objetos (nº ruedas) #? PROPIEDAD</span></div>
    <div><span style=»color: #569cd6;»>self</span>.__enmarcha=<span style=»color: #569cd6;»>False</span> <span style=»color: #608b4e;»>#En principio todos los coches de esta clase van a estar parados #? PROPIEDAD</span></div>
    <div><span style=»color: #569cd6;»>def</span> <span style=»color: #dcdcaa;»>arrancar</span>(<span style=»color: #9cdcfe;»>self</span>,<span style=»color: #9cdcfe;»>arrancamos</span>): <span style=»color: #608b4e;»>#EJ:Coche.arrancar, self hace referencia al objeto de la clase #* COMPORTAMIENTO </span></div>
    <div><span style=»color: #569cd6;»>self</span>.__enmarcha=arrancamos</div>
    <div><span style=»color: #c586c0;»>if</span> (<span style=»color: #569cd6;»>self</span>.__enmarcha):<span style=»color: #608b4e;»>#Cambia enmarcha=False a True con la variable self</span></div>
    <div>chequeo=<span style=»color: #569cd6;»>self</span>.chequeo_interno()</div>
    <div><span style=»color: #c586c0;»>if</span>(<span style=»color: #569cd6;»>self</span>.__enmarcha <span style=»color: #569cd6;»>and</span> chequeo):</div>
    <div><span style=»color: #c586c0;»>return</span> <span style=»color: #ce9178;»>»El coche esta en marcha»</span></div>
    <div><span style=»color: #c586c0;»>elif</span>(<span style=»color: #569cd6;»>self</span>.__enmarcha <span style=»color: #569cd6;»>and</span> chequeo==<span style=»color: #569cd6;»>False</span>):</div>
    <div><span style=»color: #c586c0;»>return</span> <span style=»color: #ce9178;»>»Algo ha ido mal en el chequeo, por favor comprueba tu coche»</span></div>
    <div><span style=»color: #c586c0;»>else</span>:</div>
    <div><span style=»color: #c586c0;»>return</span> <span style=»color: #ce9178;»>»El coche esta parado»</span></div>
    <div><span style=»color: #569cd6;»>def</span> <span style=»color: #dcdcaa;»>estado</span>(<span style=»color: #9cdcfe;»>self</span>): <span style=»color: #608b4e;»>#Creo un objeto del estado #* COMPORTAMIENTO</span></div>
    <div><span style=»color: #569cd6;»>print</span>(<span style=»color: #ce9178;»>»El coche tiene»</span>, <span style=»color: #569cd6;»>self</span>.__ruedas, <span style=»color: #ce9178;»>»ruedas. Un ancho de «</span>, <span style=»color: #569cd6;»>self</span>.__ancho_chasis,<span style=»color: #ce9178;»>» y un largo de «</span>, <span style=»color: #569cd6;»>self</span>.__largo_chasis)</div>
    <div><span style=»color: #569cd6;»>def</span> <span style=»color: #dcdcaa;»>chequeo_interno</span>(<span style=»color: #9cdcfe;»>self</span>):</div>
    <div><span style=»color: #569cd6;»>print</span>(<span style=»color: #ce9178;»>»Realizando chequeo interno…»</span>)</div>
    <div><span style=»color: #569cd6;»>self</span>.gasolina=<span style=»color: #ce9178;»>»Ok»</span></div>
    <div><span style=»color: #569cd6;»>self</span>.aceite=<span style=»color: #ce9178;»>»Ok»</span></div>
    <div><span style=»color: #569cd6;»>self</span>.puertas=<span style=»color: #ce9178;»>»Cerradas»</span></div>
    <div><span style=»color: #c586c0;»>if</span>(<span style=»color: #569cd6;»>self</span>.gasolina==<span style=»color: #ce9178;»>»Ok»</span> <span style=»color: #569cd6;»>and</span> <span style=»color: #569cd6;»>self</span>.aceite==<span style=»color: #ce9178;»>»Ok»</span> <span style=»color: #569cd6;»>and</span> <span style=»color: #569cd6;»>self</span>.puertas==<span style=»color: #ce9178;»>»Cerradas»</span>):</div>
    <div><span style=»color: #c586c0;»>return</span> <span style=»color: #569cd6;»>True</span></div>
    <div><span style=»color: #c586c0;»>else</span>:</div>
    <div><span style=»color: #c586c0;»>return</span> <span style=»color: #569cd6;»>False</span></div>
    <div>miCoche=Coche() <span style=»color: #608b4e;»>#Creo el primer objeto de la clase (Coche)</span></div>
    <div><span style=»color: #569cd6;»>print</span>(miCoche.arrancar(<span style=»color: #569cd6;»>True</span>))</div>
    <div>miCoche.estado() <span style=»color: #608b4e;»>#self.enmarcha=True == miCoche.enmarcha=True, self hace referencia al objeto</span></div>
    <div><span style=»color: #608b4e;»>#print(miCoche.estado()) #Si comentamos la linea anterior el programa nos dira que el coche esta parado</span></div>
    <div><span style=»color: #569cd6;»>print</span>(<span style=»color: #ce9178;»>»————————————–Ahora el 2º coche————————————————«</span>)</div>
    <div>miCoche_2=Coche</div>
    <div><span style=»color: #569cd6;»>print</span>(miCoche_2.arrancar(<span style=»color: #569cd6;»>False</span>))</div>
    <div>miCoche_2.estado()</div>
    <div><span style=»color: #569cd6;»>print</span>(miCoche_2.chequeo_interno())</div>
    <div></div>
    </div>

    #10145

    Wiliam B
    Participante

    Perdon este codigo:

    class Coche(): #Creo una clase

    def __init__ (self):

    self.__largo_chasis=250 #Creo una propiedad comun para todos los objetos (largo) #? PROPIEDAD

    self.__ancho_chasis=120 #Creo una propiedad comun para todos los objetos (ancho) #? PROPIEDAD

    self.__ruedas=4 #Creo una propiedad comun para todos los objetos (nº ruedas) #? PROPIEDAD

    self.__enmarcha=False #En principio todos los coches de esta clase van a estar parados #? PROPIEDAD

    def arrancar(self,arrancamos): #EJ:Coche.arrancar, self hace referencia al objeto de la clase #* COMPORTAMIENTO

    self.__enmarcha=arrancamos

    if (self.__enmarcha):#Cambia enmarcha=False a True con la variable self

    chequeo=self.chequeo_interno()

    if(self.__enmarcha and chequeo):

    return «El coche esta en marcha»

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

    return «Algo ha ido mal en el chequeo, por favor comprueba tu coche»

    else:

    return «El coche esta parado»

    def estado(self): #Creo un objeto del estado #* COMPORTAMIENTO

    print(«El coche tiene», self.__ruedas, «ruedas. Un ancho de «, self.__ancho_chasis,» y un largo de «, self.__largo_chasis)

    def chequeo_interno(self):

    print(«Realizando chequeo interno…»)

    self.gasolina=»Ok»

    self.aceite=»Ok»

    self.puertas=»Cerradas»

    if(self.gasolina==»Ok» and self.aceite==»Ok» and self.puertas==»Cerradas»):

    return True

    else:

    return False

    miCoche=Coche() #Creo el primer objeto de la clase (Coche)

    print(miCoche.arrancar(True))

    miCoche.estado() #self.enmarcha=True == miCoche.enmarcha=True, self hace referencia al objeto

    #print(miCoche.estado()) #Si comentamos la linea anterior el programa nos dira que el coche esta parado

    print(«————————————–Ahora el 2º coche————————————————«)

    miCoche_2=Coche

    print(miCoche_2.arrancar(False))

    miCoche_2.estado()

    print(miCoche_2.chequeo_interno())

    #RESUMEN

    #La clase Coche sera capaz de hacer dos cosas:

    #Arrancar

    #Y de decirnos si el coche esta arrancado o esta parado

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Debes estar registrado para responder a este debate.