[pyar] Archivos en python

Daniel dmlistapython en gmail.com
Vie Jul 20 18:30:29 ART 2012


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
> --
> Nano.
> @_nanodice_
> Blog: nano-dice
>
>
> _______________________________________________
> 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


Sin poder dedicarle mucho tiempo a analizar el código,
no veo que llames en ningún lado a "registrar_llamadas"

-- 
Daniel Malisani



More information about the pyar mailing list