Ciclo for per dictionary annidato

di il
1 risposte

Ciclo for per dictionary annidato

Ciao a tutti,
Sono nuovo di Python e della programmazione in genere, anche se ho studiato un po' di php tanti anni fa ho dimenticato tutto e ho dovuto iniziare da capo con lo studio di python.
Sto avendo delle difficoltà con i dictionary, in particolare con l'estrazione dei valori da dizionari annidati.

Questo è il dizionario:

shopping = {
'beer': {'quantity': 6, 'price': 1.60},
'potatos': {'quantity': 3, 'price': 1},
'milK': {'quantity': 2, 'price': 1.20}
}


in poche parole per ogni chiave di shopping (beer, potatos e milk) devo moltiplicare le quantità per il prezzo
e poi aggiungere i 3 subtotali al totale complessivo. Volveo stampare anche i subtotali prima.

Ho inziato a fare così:

tot = 0
for elem, value in shopping.items():
    print(f"Total amount {elem}:")
    for pre, qua in value.items():
	print(qua)
Anche se ho risolto problematiche simili in prcedenza adesso sto avendo problemi in questo caso specifico e mi sono incartato
Ho aggiunto print(qua) per verificare l'estrazione dei valori, però non ho capito come fare il calcolo. Ci ho provato ma ottengo sempre problemi in merito a valori integer.
più che a risolvere questo problema, potete aiutarmi a capire la procedura?
Grazie

1 Risposte

  • Re: Ciclo for per dictionary annidato

    Il secondo ciclo for non ha ragione di esistere.
    Da value puoi richiamare direttamente per chiave i valori in esso contenuto.
Devi accedere o registrarti per scrivere nel forum
1 risposte