Ayuda con almacenamiento de datos
Publicado por Paula (3 intervenciones) el 26/04/2018 20:50:53
Debo hacer un programa que dado un archivo de texto como el de mas abajo lo lea y utilizando las clases encuentre de cada TPV cual es el producto de maximo beneficio (la multiplicacion de los dos numeros en el fichero de texto) y cual es el TPV de mayor beneficio y mostrarlos por pantalla. Pero estoy teniendo problemas con este codigo al guardar los valores en el diccionario.
Agradeceria mucho la ayuda!
Agradeceria mucho la ayuda!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import sys
import os
class TPV:
Dic={}
def __init__(self,prod,diners):
self.prod=prod
self.diners=diners
def guardar_dic(self,tpv,obj:
TPV.Dic[tpv]=obj
def imprimir_valors(self):
print(self.prod,self.diners)
def imprimir_dic():
for tpv in TPV.Dic:
TPV.Dic[tpv].imprimir_valors()
def fitxer():
nomfitxer=input('Digues el nom del fitxer: ')
data_inici=int(input('Data inici: '))
data_fi=int(input('Data fi: '))
f=open(nomfitxer,'r')
if os.stat(nomfitxer).st_size==0:
print('Archiu buit')
sys.exit()
else:
dades=f.readlines()
i=0
while dades[i]!='FiVendes\n':
tpv=dades[i]
i+=1
while dades[i]!='FiTPV\n':
data=dades[i]
i=i+1
if int(data)>=data_inici and int(data)<=data_fi:
while dades[i]!='FiFactura\n':
ls=dades[i].split()
prod=ls[0]
quant=int(ls[1])
preu=int(ls[2])
diners=quant*preu
obj=TPV(prod,diners)
obj.guardar_dic(tpv,obj)
i=i+1
obj.imprimir_dic()
else:
while dades[i]!='FiFactura\n':
i=i+1
i=i+1
i=i+1
f.close()
fitxer()
Valora esta pregunta
0