[pyar] Archivos en python

Jamil Enriquez Deceano jenriquezdeceano en gmail.com
Vie Jul 20 19:44:34 ART 2012


Mal escrito
 t.write ('Operadora \t Costo/min \n Tiempo \t Total \n Movilnet \t 0.38 \t
%d \t %1.2f' % (self.time, cant_min))
cambia a
  txt.write ('Operadora \t Costo/min \n Tiempo \t Total \n Movilnet \t 0.38
\t %d \t %1.2f' % (self.time, cant_min))

El 20 de julio de 2012 17:33, Roger Martinez Ramirez <
sunrise_sabe en hotmail.com> escribió:

>  Movistar cobra .55 y no .50
>
> Un pequeño chascarrillo saludos.
>
> ------------------------------
> Date: Fri, 20 Jul 2012 19:19:46 -0300
> From: malderete en gmail.com
> To: pyar en python.org.ar
> Subject: Re: [pyar] Archivos en python
>
>
> Buenas! como va?
>
> 2012/7/20 Daniel <dmlistapython en gmail.com>
>
> El día 20 de julio de 2012 17:40, Javier Marín
> <nano.world.contact en gmail.com> escribió:
> > Buenas, tengo algunas dudas. Llevo un rato leyendo sobre archivos y
> decidí
> > dejar de leer tanto y darle un tanto mejor al código. Hice un programita
> de
> > práctica y quiero hacer que imprima por pantalla lo que se le manda a
> > imprimir (que ya lo hace) y que eso mismo lo guarde en un simple archivo
> > txt. Les dejo el código (que hasta ahora no me ha tirado errores) que por
> > alguna razón corre, pero no guarda nada en el archivo...
> >
> >> #!/usr/bin/env python
> >> #-*- coding:utf-8 -*-
> >> from random import randint, choice
> >> """
> >>     Se totalizaran 100 llamadas
> >>     Costo de llamadas: movilnet 0,38. Movistar 0.55. Digitel 0.45.
> >>     El operador de llamada es aleatorio y el tiempo de la llamada.
> >>     El tiempo de la llamada oscilará entre 3 y 20 minutos.
> >>     Para cada llamada se debe mostrar el tiempo, la operadora y el
> costo.
> >>     Se debe mostrar el recaudo total por todas las llamadas.
> >> """
> >> class llamadas:
> >>     def __init__(self, time, oprs):
> >>         self.time = time
> >>         self.oprs = oprs
> >>
> >>     def registrar_llamadas(self):
> >>         txt = open("llamadas.txt", 'w')
> >>         for i in xrange(100):
> >>             oprs1 = self.oprs.keys()
> >>             oprs2 = self.oprs.values()
> >>             op_azar = choice(oprs1)
> >>             if op_azar == 'Movilnet':
> >>                 cant_min = self.time * oprs2[0]
> >>                 t.write ('Operadora \t Costo/min \n Tiempo \t Total \n
> >> Movilnet \t 0.38 \t %d \t %1.2f' % (self.time, cant_min))
> >>                 print 'Operadora \t Costo/min \n Tiempo \t Total \n
> >> Movilnet \t 0.38 \t %d \t %1.2f' % (self.time, cant_min)
> >>             elif op_azar == 'Movistar':
> >>                 cant_min = self.time * oprs2[2]
> >>                 txt.write ('Operadora \t Costo/min \n Tiempo \t Total \n
> >> Movistar \t 0.38 \t %d \t %1.2f' % (self.time, cant_min))
> >>                 print 'Operadora \t Costo/min \n Tiempo \t Total \n
> >> Movistar \t 0.50 \t %d \t %1.2f' % (self.time, cant_min)
> >>             else:
> >>                 cant_min = self.time * oprs2[1]
> >>                 txt.write ('Operadora \t Costo/min \n Tiempo \t Total \n
> >> Digitel \t 0.38 \t %d \t %1.2f' % (self.time, cant_min))
> >>                 print 'Operadora \t Costo/min \n Tiempo \t Total \n
> >> Digitel \t 0.45 \t %d \t %1.2f' % (self.time, cant_min)
> >>         txt = close("llamadas.txt")
> >>
> >> operadoras = {'Movilnet' : 0.38, 'Movistar' : 0.50, 'Digitel' : 0.45}
> >> tiempo = randint(3, 21)
> >> llamada = llamadas(tiempo ,operadoras)
> >
> >
> >
> > Detallando un poco. Cuando lo corro sin los txt, imprime por pantalla
> todo
> > sin chistar, pero cuando lo pongo con los txt no me reporta nada, ningún
> > problema, la cuestión va en que debería crear el archivo txt en el
> fichero
> > donde se encuentra y reescribirlo; no lo hace. Lo hice a mano, pero
> tampoco
> > lo reescribe. ¿Alguien me ilustra un poco más? Mucha teoría, sí, pero
> nada
> > de práctica xD
> > -
>
>
> Si no veo mal... como dijieron antes no haces la llamada a
> "registrar_llamadas" y dentro de este metodo estas cerrando el archivo de
> una forma no muy comun...
> deberias hacer:
> txt.close()
> y haces:
> txt = close("llamadas.txt")
>
> saludos!
>
> --
> Alderete, Martin Nicolas
> NINJA-IDE Core Developer
>
> _______________________________________________ pyar mailing list
> pyar en python.org.ar http://listas.python.org.ar/listinfo/pyar PyAr -
> Python Argentina - Sitio web: http://www.python.org.ar/ La lista de PyAr
> esta Hosteada en USLA - Usuarios de Software Libre de Argentina -
> http://www.usla.org.ar
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120720/99f8058a/attachment.html>


More information about the pyar mailing list