banner2

Home Foros Foro dudas Foro Python Problema POO

Problema POO

Viendo 2 publicaciones - del 1 al 2 (de un total de 2)
  • Autor
    Publicaciones
  • #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 publicaciones - del 1 al 2 (de un total de 2)
  • Debes estar registrado para responder a este debate.

Píldoras Informáticas

Comencé esta aventura para dar soporte a mis alumnos presenciales. Con el apoyo de todos los que me seguís mi canal de YouTube y esta web han crecido mucho más de lo que yo esperaba. Gracias a todos por estar ahí.

Quién está aquí ahora

Foto del perfil de Luis
Foto del perfil de Seidon
Foto del perfil de roberto
Foto del perfil de Jorge Roldán García
Foto del perfil de ismael
Foto del perfil de Mure
Foto del perfil de Julian Quenard