Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. def le_dados_produtos():
  2. arq=open("produtos.txt","r")
  3. lista=[]
  4. for linha in arq:
  5. linha=linha.strip()
  6. Linfo=linha.split("\t")
  7. for i in range(len(Linfo)):
  8. Linfo[i]=int(Linfo[i])
  9. lista.append(Linfo)
  10. arq.close()
  11. return lista
  12.  
  13. def busca(el,L):
  14. tam=len(L)
  15. for i in range(tam):
  16. if L[i][0]==el:
  17. return i
  18. return -1
  19.  
  20. def criaTabela (lista):
  21. Lqtds = []
  22. tam = len(lista)
  23. for i in range(tam):
  24. Lqtds.append([0,0,0])
  25.  
  26. return Lqtds
  27.  
  28. def exibeTabela (lista, Lqtds):
  29. tam = len(lista)
  30. print("Codigo do\tQuantidade\tQuantidade\tQuantidade")
  31. print("Produto\t\tSolicitada\tpendente\tdevolvida\n")
  32. for i in range(tam):
  33. print(str(lista[i][0]) + '\t\t' + str(Lqtds[i][0]) + '\t\t' + str(Lqtds[i][1]) + '\t\t' + str(Lqtds[i][2]) + '\n')
  34.  
  35.  
  36. def atualiza_informações(lista):
  37. Lqtds = criaTabela(lista)
  38. arq=open("mov.txt","r")
  39. for linha in arq:
  40. linha=linha.strip()
  41. Linfo=linha.split("\t")
  42. cod= int(Linfo[0])
  43. acao=Linfo[1]
  44. qtd=int(Linfo[2])
  45. pos=busca(cod,lista)
  46. if pos!=-1:
  47. if acao=="s":
  48. Lqtds[pos][0] = Lqtds[pos][0] + qtd #Atualiza qtd solcit
  49. if(lista[pos][1] >= qtd):
  50. lista[pos][1] -= qtd
  51. else:
  52. difer = qtd - lista[pos][1]
  53. Lqtds[pos][1] += difer #Atualiza qtd pendente
  54. lista[pos][1] = 0
  55.  
  56. elif acao=="d":
  57. lista[pos][1] += qtd
  58. Lqtds[pos][2] += qtd #atualiza qtd Devolv
  59.  
  60.  
  61. exibeTabela(lista, Lqtds)
  62.  
  63. arq.close()
  64. return
  65.  
  66. def gera_relatorio_final(lista):
  67. arq=open("novo.txt","w")
  68. cont=0
  69. for el in lista:
  70. arq.write(str(el[0])+"\t"+str(el[1])+"\n")
  71. if el[1]==0:
  72. cont=cont+1
  73. print("Quantidade de produtos com estoque zerado: ",cont)
  74. arq.close()
  75. return
  76.  
  77.  
  78. dados=le_dados_produtos()
  79. atualiza_informações(dados)
  80. gera_relatorio_final(dados)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement