Python - Modelando Clases de Objetos en Python

 
Vista:

Modelando Clases de Objetos en Python

Publicado por Mary (3 intervenciones) el 03/06/2016 02:39:36
Hola, soy principiante en programación en Python y tengo problemas para que me devuelva el resultado del siguiente ejercicio:

Modelar un banco con clientes. El banco comienza sin clientes y a través del mensaje ingresarCliente añade uno a su lista. También nos interesa saber cuantos clientes posee y si determinado número de documento pertenece a alguno de sus clientes. Ayuda: considerar la utilización de listas.

Esto es lo que hice yo,pero no se si me falta algo más, o esta mal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Banco ():
    def __init__(self):
        self.clientes = []
 
    def ingresarCliente (self,persona):
        self.clientes.append(persona)
 
if __name__ == "__main__":
 
    unBanco = Banco
    clientes = {}
    clientes ["Pedro"] = 2551
    clientes ["Ana"] = 2874
 
    print "Lista de Clientes",clientes
    print "nuevo cliente", unBanco.ingresarNuevoCliente ("John")
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Miguel Hernandez Liebano
Val: 3
Ha disminuido su posición en 479 puestos en Python (en relación al último mes)
Gráfica de Python

Modelando Clases de Objetos en Python

Publicado por Miguel Hernandez Liebano (19 intervenciones) el 04/06/2016 04:37:52
Inicias bien y estas haciendo lo correcto al intertarlo y luego solicitar la ayuda. A la clase banco le faltaria el método numeroClientes que devolvería cuantos clientes están en la lista, de igual modo el metodo ingresaNuevocliente, supongo que debe ser invocado luego de capturar (con raw_input()) los datos del cliente que serian nombre y documentos. Otra cosa que noto es que la variable clientes esta declarada como un diccionario, pero te recomiendo que lo uses como una lista y que contenga las tuplas documentos,nombres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modelando Clases de Objetos en Python

Publicado por Mary (3 intervenciones) el 04/06/2016 16:24:36
Muchas Gracias por responder. Probare como me has dicho. Antes de tu respuesta probé de esta forma,y salio esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Banco ():
    def __init__(self):
        self.clientes = []
 
    def ingresarCliente (self, persona):
        self.clientes.append(persona)
 
if __name__ == "__main__":
 
    unBanco = Banco()
    clientes = ["Pedro","DNI=2551","Ana","DNI=2874"]
    clientes.append("Julia,DNI=234")
    print "Lista de Clientes",clientes
    print "En la lista esta DNI=2551", "DNI=2551" in clientes
    print "Nuevo Cliente",unBanco.ingresarCliente ("Julia,DNI=234")

RESPUESTAS

Lista de Clientes ['Pedro', 'DNI=2551', 'Ana', 'DNI=2874', 'Julia,DNI=234']
En la lista esta DNI=2551 True
Nuevo Cliente None

# NO ENTIENDO PORQUE SALE "NONE" PERO ESPERO LA RESPUESTA DEL PROFESOR.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel
Val: 3
Ha disminuido su posición en 479 puestos en Python (en relación al último mes)
Gráfica de Python

Modelando Clases de Objetos en Python

Publicado por Miguel (19 intervenciones) el 04/06/2016 16:36:12
Sale None por que el metodo ingresaNuevoCliente no retorna ningun valor, podrias hacer algo como esto:

1
2
3
4
def ingresarCliente (self, persona):
   self.clientes.append(persona)
   cliente=persona
   return cliente[0]

o simplemente return persona que te daria como respuesta la tupla que pasaste como parametro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modelando Clases de Objetos en Python

Publicado por Mary (3 intervenciones) el 05/06/2016 01:22:39
Bueno, me quedo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Banco ():
    def __init__(self):
        self.clientes = []
 
    def ingresarCliente (self, persona):
        self.clientes.append(persona)
        self.clientes = persona
        return clientes[4]
 
if __name__ == "__main__":
 
    unBanco = Banco()
    clientes = ["Pedro","DNI=2551","Ana","DNI=2874"]
    clientes.append("Julia,DNI=234")
    print "Lista de Clientes",clientes
    print "En la lista esta DNI=2551", "DNI=2551" in clientes
    print "Nuevo Cliente",unBanco.ingresarCliente ("Julia,DNI=234")
    print "Nro de Clientes",(len(clientes))

RESPUESTAS

Lista de Clientes ['Pedro', 'DNI=2551', 'Ana', 'DNI=2874', 'Julia,DNI=234']
En la lista esta DNI=2551 True
Nuevo Cliente Julia,DNI=234
Nro de Clientes 5 # ENREALIDAD SON 3,PERO BUENO... JE


Gracias a las personas que se tomaron unos mins de su tiempo para aconsejarme sobre este problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modelando Clases de Objetos en Python

Publicado por Zhorton72 (2 intervenciones) el 05/06/2016 08:43:54
La lista te da una longitud de 5 elementos, porque metes a julia en la posición 4 y las listas empiezan por el 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar