Ver Mensaje Individual
  #15 (permalink)  
Antiguo 02/07/2010, 08:03
programadornoob
 
Fecha de Ingreso: junio-2010
Mensajes: 13
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Ayuda con una Class y una Lista

Arregle el problema de guardar, solo me falta el de recuperar los datos, el problema es que me recupera solo la primera linea snff...

Ahora para guardar uso Serialización gracias a las guías que me recomendaste :P aca te dejo el codigo funciona 100% ahora estoy implementando lo de recuperar voy "recuperar 1 - yo 0" jajajaja

Código Python:
Ver original
  1. try:  
  2.     import cPickle as pickle  
  3. except ImportError:  
  4.     import pickle
  5.    
  6.    
  7. class Calle:
  8.     def __init__(self, nombre, norte, sur, este, oeste, estado):
  9.         self.nombre = nombre
  10.         self.norte = norte
  11.         self.sur = sur
  12.         self.este = este
  13.         self.oeste = oeste
  14.         self.estado = estado
  15.        
  16.     def __str__(self):
  17.         return "%s %s %s %s %s %s " % (self.nombre, self.norte, self.sur, self.este, self.oeste, self.estado)
  18.        
  19.  
  20. archivo = file("calles.dat", "a+")
  21.  
  22. listaCalles = []
  23.  
  24.  
  25. def ingresarCalle():
  26.    
  27.     nombre      = raw_input("Nombre: ")
  28.     norte       = raw_input("Calle al Norte: ")
  29.     sur         = raw_input("Calle al Sur: ")
  30.     este        = raw_input("Calle al Este: ")
  31.     oeste       = raw_input("Calle al Oeste: ")
  32.     estado      = False
  33.     calle = Calle(nombre, norte, sur, este, oeste, estado)
  34.  
  35.     listaCalles.append(calle)
  36.     pickle.dump(calle, archivo)
  37.  
  38. def listarCalles():
  39.    
  40.     print ""
  41.     print "Listado de Calles".center(79, "*")
  42.  
  43.     for calle in listaCalles:
  44.         print "Nombre de la Calle: %s\nCalle al Norte: %s\nCalle al Sur: %s" % (calle.nombre, calle.norte, calle.sur)
  45.         print "Calle al Este: %s\nCalle al Oeste: %s" % (calle.este, calle.oeste)
  46.        
  47.         if calle.estado == True:
  48.             print "Calle visitada"
  49.         else:
  50.             print "Calle sin visitar"
  51.        
  52.         print ""
  53.  
  54. def buscarCalle():
  55.     buscar = raw_input("Ingrese el nombre de la calle a buscar: ")
  56.     for nombre in listaCalles:
  57.         if buscar == nombre.nombre:
  58.             print ""
  59.             print "Resultado".center(79, "*")
  60.             print "Nombre de la Calle: %s\nCalle al Norte: %s\nCalle al Sur: %s" % (nombre.nombre, nombre.norte, nombre.sur)
  61.             print "Calle al Este: %s\nCalle al Oeste: %s" % (nombre.este, nombre.oeste)
  62.             print ""
  63.            
  64.         else:
  65.             print ""
  66.             print "Resultado".center(79, "*")
  67.             print "La Calle no existe\n"
  68.             print ""
  69.  
  70.  
  71. def menu():
  72.  
  73.     while True:
  74.         print 'MENU'.center(32, '=')
  75.         print '1.- Ingresar una Calle'
  76.         print '2.- Buscar Calle'
  77.         print '3.- Mostrar todas las Calles'
  78.         print '6.- Salir'
  79.        
  80.         op = input('Ingrese una Opcion: ')
  81.        
  82.         if op == 1:
  83.             ingresarCalle()
  84.         if op == 2:
  85.             buscarCalle()
  86.         if op == 3:
  87.             listarCalles()
  88.         if op == 6:
  89.             archivo.close()
  90.             break
  91.  
  92.        
  93. menu()

saludos :P

Última edición por programadornoob; 02/07/2010 a las 08:36