1 from urllib import request 2 3 4 def esercizio1(url): 5 lista = [] 6 chiavi = [] 7 documento = request.urlopen(url) 8 for pos, elem in enumerate(documento): 9 if pos == 0: 10 chiavi = elem.decode().strip().split(",") 11 else: 12 valori = elem.decode().strip().split(",") 13 dizionario = {} 14 for pos_chiavi, chiave in enumerate(chiavi): 15 val = valori[pos_chiavi] 16 if chiave == "Quantità ": 17 val = int(val) 18 elif chiave == "Prezzo Unitario" or chiave == "Totale": 19 val = float(val) 20 dizionario.update({chiave:val}) 21 lista.append(dizionario) 22 return lista 23 24 data = esercizio1("https://pastebin.com/raw/90J6YpK6") 25 for elem in data: 26 print(elem) 27 28 def esercizio2(data): 29 massimo = 0 30 id = None 31 for elem in data: 32 if elem["Totale"] > massimo: 33 massimo = elem["Totale"] 34 id = elem["ID Ordine"] 35 return id 36 massimo = esercizio2(data) 37 print("esercizio2:",massimo) 38 39 def esercizio3(data): 40 conta_ordini = 0 41 for elem in data: 42 if elem["Prodotto"] == "Smartphone": 43 conta_ordini += 1 44 return conta_ordini 45 ordini_smartphone = esercizio3(data) 46 print("esercizio3:",ordini_smartphone) 47 48 def esercizio4(data): 49 lista = [] 50 for elem in data: 51 prezzo_unitario = elem["Prezzo Unitario"] 52 prezzo_errato = elem["Totale"] 53 quantita = elem["Quantità "] 54 totale_corretto = quantita * prezzo_unitario 55 if totale_corretto != prezzo_errato: 56 lista.append((elem["ID Ordine"], prezzo_errato, totale_corretto)) 57 return lista 58 id = esercizio4(data) 59 print("esercizio4:",id) 60 61 def esercizio5(id, nome_file): 62 file = open(nome_file, "w") 63 for pos, elem in enumerate(id): 64 file.write(str(elem[0]) + "," + str(elem[1]) + "," + str(elem[2]) + ";" + "\n") 65 file.close() 66 esercizio5(id, "esamedicembre.txt") 67 68