Foros DeCeMuLaDoReS

Retroceder   Foros DeCeMuLaDoReS > PC > Programación

Programación Escribe aquí todo lo relacionado sobre programación, ya sea C, C++, PHP, etc, etc...

Respuesta
 
LinkBack Herramientas
  #1 (permalink)  
Antiguo 14-May-2011, 20:13
cobraadicto no se puede cailificar en este momento
DC Junior
 
Fecha de Ingreso: 14-May-2011
Mensajes: 2
Posts agradecidos: 0
Agradecido 0 veces en 0 posts
Predeterminado Python y classes necesito ayuda plz

Buenas a to@s, estoy haciendo un ejercicio en python para clase, tengo que realizar un programa que tenga 2 metodos, y uno tiene que llamar al otro.

La cosa es asi una clase se llama clientes, y tiene todos lso datos de lso cleintes, y la otra clase recoge lo que el cliente introduce por teclado (es un menu).

El problema lo tengo cuando hago esto

Class Cliente(self,nombre):
self.nombre=nombre
bla bla

if __name__=="__main__": #empezamos el programa

clientito= raw_input("Dime el nombre del cliente para crearlo")
clientito = Cliente()

si ahora le digo print
print clientito
print clientito.nombre

Pongamos que el usuario ha puesto de nombre Raul
los prints me dicen
<__main__.Cliente instance at 0x020555F8>
Raul

Y el imposible trabajar con <__main__.Cliente instance at 0x020555F8>, porque me pilla este valor y no el introducido por el usuario ??

gracais
Responder Citando
  #2 (permalink)  
Antiguo 15-May-2011, 08:52
Mortadelo no se puede cailificar en este momento
Especialista DC
 
Fecha de Ingreso: 24-September-2009
Mensajes: 333
Posts agradecidos: 5
Agradecido 59 veces en 57 posts
Predeterminado Respuesta: Python y classes necesito ayuda plz

Cita:
Iniciado por cobraadicto Ver Mensaje
Buenas a to@s, estoy haciendo un ejercicio en python para clase, tengo que realizar un programa que tenga 2 metodos, y uno tiene que llamar al otro.

La cosa es asi una clase se llama clientes, y tiene todos lso datos de lso cleintes, y la otra clase recoge lo que el cliente introduce por teclado (es un menu).

El problema lo tengo cuando hago esto

Class Cliente(self,nombre):
self.nombre=nombre
bla bla

if __name__=="__main__": #empezamos el programa

clientito= raw_input("Dime el nombre del cliente para crearlo")
clientito = Cliente()

si ahora le digo print
print clientito
print clientito.nombre


Pongamos que el usuario ha puesto de nombre Raul
los prints me dicen
<__main__.Cliente instance at 0x020555F8>
Raul


Y el imposible trabajar con <__main__.Cliente instance at 0x020555F8>, porque me pilla este valor y no el introducido por el usuario ??

gracais
En el primer print estás diciendo "muéstrame el objeto clientito". Como es un objeto, no muestra un valor de cadena de texto, sino la dirección de memoria donde se encuentra.

En el segundo, estás imprimiendo el valor del atributo (clientito.nombre), por lo que te funciona correctamente, ya que este valor sí es una cadena de texto.

¿Dónde está el problema?

Según parece, debes repasar la teoría básica, concretamente el concepto genérico de "objeto".


Un saludo
Responder Citando
  #3 (permalink)  
Antiguo 15-May-2011, 10:42
cobraadicto no se puede cailificar en este momento
DC Junior
 
Fecha de Ingreso: 14-May-2011
Mensajes: 2
Posts agradecidos: 0
Agradecido 0 veces en 0 posts
Predeterminado Respuesta: Python y classes necesito ayuda plz

El problema esta en que quiero generar una clase, que genere otra clase, es decir que cuando diga
xx = raw_input("Dime le numbre del cliente para cearlo")
xx = Cliente(xx)

me cree un Cliente nuevo con el nombre introducido por el usuario y no el objeto creado.
Responder Citando
  #4 (permalink)  
Antiguo 15-May-2011, 14:35
Mortadelo no se puede cailificar en este momento
Especialista DC
 
Fecha de Ingreso: 24-September-2009
Mensajes: 333
Posts agradecidos: 5
Agradecido 59 veces en 57 posts
Predeterminado Respuesta: Python y classes necesito ayuda plz

Bueno, me pillas un poco en calzoncillos con python, pero pensando en POO general:

Código:
clase Agenda(cliente)
arrayClientes[indice++]=cliente

clase Cliente(nombre)
nombre=nombre


Main:
sNombre = input("Introduce el nombre del cliente: ")
objCliente = Cliente(sNombre)
objAgenda = Agenda(objCliente)

for obj in objAgenda.arrayClientes
   print obj.nombre
Entiendo que quieres crear una colección de clientes, por lo que lo más sencillo es crear un array (puede ser sustituído por listas o cualquier otra estructura de datos que consideres oportuna)

Así, cuando accedes a un objeto del array, puedes acceder a su atributo "nombre" e imprimir el nombre correctamente.


Otra posibilidad es la siguiente:

Código:
clase Agenda(nombre)
arrayClientes[indice++]=Cliente(nombre)

clase Cliente(nombre)
nombre=nombre


Main:
sNombre = input("Introduce el nombre del cliente: ")
objAgenda= Agenda(sNombre)

for obj in objAgenda.arrayClientes
   print obj.nombre
Así, al invocar a Agenda, generas un nuevo cliente. Es menos intuitivo y más enrevesado, pero creo que es a lo que te refieres.

En cualquier caso a ver si se pasa alguien que controle Python.
Responder Citando
Respuesta

Etiquetas
python classes ayuda


(0 miembros y 1 visitantes)
 
Herramientas

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
[IMPORTANTE] Necesito ayuda con Servidor Privado Metin2. Danny Juegos (On-line, Off-line) 12 12-Aug-2010 20:06
[Solucionado] AYUDA ¡¡¡. necesito ayuda para el juego de Wario Ware D.I.Y download_mak N-DS 4 30-Mar-2010 17:46
Necesito ayuda Hurgente luimb N-DS 9 30-Jan-2009 21:17
Necesito Ayuda con Urgencia Sobre Ben 10 Aliens Force 11Joseph N-DS 3 11-Dec-2008 03:45
Necesito ayuda en un proyecto darkriku Juegos en general 0 13-Nov-2007 19:51


Torneo DC 2012
Torneo DC 2012

La franja horaria es GMT +1. Ahora son las 21:49.


Desarrollado por: vBulletin® Versión 3.8.2
Derechos de Autor ©2000 - 2012, Jelsoft Enterprises Ltd.
Traducido por mcloud de vBhispano.com
 

Content Relevant URLs by vBSEO 3.2.0