Ver Mensaje Individual
  #17 (permalink)  
Antiguo 10/07/2010, 13:48
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Ayuda con una Class y una Lista

Código Python:
Ver original
  1. class Fruta:
  2.     def __init__(self, nombre, peso, precio):
  3.         self.nombre = nombre
  4.         self.peso = peso
  5.         self.precio = precio
  6.  
  7.     def __str__(self):
  8.         return "%s %s %s\n" % (self.nombre, self.peso, self.precio)
  9.    
  10. def load(filename):
  11.     f = None
  12.     try:
  13.         f = open(filename, "r")
  14.         data = f.read()
  15.     except IOError, e:
  16.         pass
  17.     finally:
  18.         if f:
  19.             f.close()
  20.             data = filter(bool, data.split("\n"))
  21.             return [Fruta(*i.split()) for i in data]
  22.         else:
  23.             return []
  24.  
  25. def do_something(data):
  26.     while True:
  27.         name = raw_input("Nombre: ")
  28.         weight = raw_input("Peso: ")
  29.         price = raw_input("Precio: ")
  30.         fruta = Fruta(name, weight, price)
  31.         data.append(fruta)
  32.  
  33.         op = raw_input("Desea continuar? [S/n]")
  34.         if not (not op or op[0] == 's' or op[0] == 'S'):
  35.             break
  36.  
  37. def save(filename, data):
  38.     f = None
  39.     try:
  40.         f = open(filename, "w")
  41.         for item in data:
  42.             f.write(str(item))
  43.     except IOError:
  44.         pass
  45.     finally:
  46.         if f:
  47.             f.close()
  48.         else:
  49.             print "No se pudo guardar"
  50.  
  51. data = load("input.txt")
  52. for i in data:
  53.     print i
  54. do_something(data)
  55. save("input.txt", data)