Files
2024-03-22 17:01:42 +01:00

71 lines
2.0 KiB
Python

from sys import exit
def carica_prodotti(filename: str):
try:
fio = open(filename, "r")
prodotti = dict()
for line in fio:
line = line.strip().split()
prodotti[line[0]] = line[1]
fio.close()
return prodotti
except FileNotFoundError:
exit("Errore! Il file", filename, "non è stato trovato!")
def carica_acquisti(filename: str, prodotti: dict):
try:
fio = open(filename, "r")
prodotti_sospetti = dict()
for line in fio:
line = line.strip().split()
prodotto = line[0]
rivenditore = line[1]
if prodotto not in prodotti:
print("Attenzione! il prodotto", prodotto, "non esiste")
continue
if prodotto not in prodotti_sospetti:
prodotti_sospetti[prodotto] = []
prodotti_sospetti[prodotto].append(rivenditore)
fio.close()
return prodotti_sospetti
except FileNotFoundError:
exit("Errore! Il file", filename, "non è stato trovato!")
def controlla_acquisti(prodotti: dict, acquisti: dict):
prodotti_sospetti = dict()
for prodotto in acquisti:
if len(acquisti[prodotto]) > 1 or (len(acquisti[prodotto]) == 1 and acquisti[prodotto][0] != prodotti[prodotto]):
prodotti_sospetti[prodotto] = acquisti[prodotto]
return prodotti_sospetti
def stampa_prodotti_sospetti(prodotti: dict, prodotti_sospetti: dict):
print("Elenco transazioni sospette")
for prodotto in prodotti_sospetti:
print("Codice prodotto:", prodotto)
print("Rivenditore ufficiale:", prodotti[prodotto])
print("Lista rivenditori:", " ".join(prodotti_sospetti[prodotto]))
print()
def main():
prodotti = carica_prodotti("prodotti.txt")
acquisti = carica_acquisti("acquisti.txt", prodotti)
sospetti = controlla_acquisti(prodotti, acquisti)
stampa_prodotti_sospetti(prodotti, sospetti)
if __name__ == '__main__':
main()