Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Vara as sak
- VARULISTA = "Varulista"
- def load_information():
- saker = []
- with open(VARULISTA, "r", encoding="utf-8") as file:
- tmp_saker = file.readlines()
- file.close()
- for föremål in tmp_saker:
- saker.append(sak.föremål(*föremål.split(",")))
- return saker
- def scanna_vara(saker):
- varor = []
- lager_saldo = {}
- for x in saker:
- lager_saldo.update({x.kod: x.lager})
- print(lager_saldo)
- while True:
- varu_kod, *antal = input("Skriv in Vara: ").split(" ")
- if len(antal) == 0:
- antal = 1
- elif len(antal) > 1:
- print("NU blev det fel!")
- continue
- try:
- if type(antal) is list:
- antal = int(antal[0])
- except ValueError:
- print("Det blev knasigt")
- continue
- if varu_kod == "#":
- break
- elif varu_kod in lager_saldo:
- for y in saker:
- if varu_kod == y.kod:
- if y.kontroll(antal) >= 0:
- ny_vara = y # Kopiera obj iställt för att overwrita
- if ny_vara in varor:
- ny_vara.antal += antal
- else:
- ny_vara.antal = antal
- varor.append(ny_vara)
- else:
- print("det finns inte tillräcklig i lagret")
- else:
- print("Varan finns inte")
- return varor
- def uppdatra_lager(saker,):
- for x in saker:
- setattr(x, "lager", getattr(x, "lager") - x.antal)
- with open(VARULISTA, "w", encoding="utf-8") as file:
- for y in saker:
- file.write(",".join(map(str, [y.namn, y.pris, y.kod, y.lager])) + "\n")
- file.close()
- def skapa_kvitto(scannade):
- tot_pris = 0
- tot_ant = 0
- print(f"Varunamn \t\t A-Pris \t Antal \t\t Summa")
- print("------------------------------------------------")
- for x in scannade:
- tot_pris += x.get_summa()
- tot_ant += x.antal
- print(x)
- print("================================================")
- print(f"TOTAL \t\t\t\t\t\t {tot_ant} \t\t\t {tot_pris:.2f}")
- def main():
- saker = load_information()
- scannade_saker = scanna_vara(saker)
- skapa_kvitto(scannade_saker)
- uppdatra_lager(saker)
- main()
- ---------------------------------------------------------------------------------------------------------------------------------------
- class föremål:
- def __init__(self, namn, pris, kod, lager, antal=0):
- self.namn = namn
- self.pris = float(pris)
- self.kod = kod
- self.antal = int(antal)
- self.lager = int(lager)
- def kontroll(self, inmating):
- return self.lager - (int(inmating) + self.antal)
- def get_summa(self):
- summa = int(self.antal*self.pris)
- return summa
- def __str__(self):
- return f"{self.namn} \t\t\t {self.pris:.2f} \t\t {self.antal} \t\t\t {self.antal*self.pris:.2f}"
- ---------------------------------------------------------------------------------------------------------------------------------------
- Chips,20.0,12572,56
- Läsk,13.0,12421,12
- Kondomer,10.5,6969,88
- Stark-Öl,5.0,1336,0
- Weed,100.0,420,15
- Kox 1g,800.0,1337,9900
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement