Forum >> Principianti >> Aggiornare valori dizionario

Pagina: 1

Salve, ho bisogno di un piccolo aiuto.
Sto utilizzando python per un esame di informatica.

Devo creare un programma che mi gestisce una tessera fedeltà su cui accumulo miglia per ogni cliente iscritto

Ho usato la classe clienti(codice,nome,cognome,miglia) e i dizionari dove inserire i dati.

Il problema è che ogni volta che aggiorno le miglia che dovrebbero accumularsi a quelle già esistenti, mi sostituisce il valore vecchio invece di aggiungerle a quelle già presenti.

Se qualcuno può aiutarmi ve ne sarei grata.



Ciao cara e benvenuta, posta il codice e facci vedere dov'è il problema, così capiamo meglio.

A sensazione comunque, se usi la stessa chiave, ovviamente si comporta esattamente nel modo che descrivi. Mi spiego con un esempio. Supponiamo che abbiamo due utenti, Daniele e Rosa (che fantasia) che hanno rispettivamente 10 e 100 miglia e vogliamo aggiungere 50 miglia a Daniele.
>>> d["daniele"] = 50 #Così non aggiungo 50 a 10, ma sostituisco 10 con 50
>>> d
{'daniele': 50, 'rosa': 100}

>>> d["daniele"] += 50 #Così invece aggiungo 50 a 10
>>> d
{'daniele': 60, 'rosa': 100}
Cya

P.S. Ricorda di usare il tasto per una corretta visualizzazione del codice.
<span style="color: rgb(0, 0, 12def add_miglia(myclienti):
codice = input("\nInserire il codice del cliente al quale modificare le miglia: ")
# lo cerca nel dizionario
if codice in myclienti:
# lo cerca nel dizionario
print(myclienti.get(codice, '\nIl codice non è stato trovato.'))
try:


nome = input("Inserisci il nome del cliente: ")
cognome = input("Inserisci il cognome del cliente:")
miglia = float(input("Inserisci le miglia già presenti: "))

# ottieni km percorsi
km_percorsi = float(input("Inserisci i km percorsi: "))print('\nCLASSE DI VIAGGIO:')
print('classe A')
print('classe B ')
print('classe C')
print('classe D')
print('classe E ')
classe_viaggio = input("Specificare la classe di viaggio: ")
if classe_viaggio == 'a' or classe_viaggio == 'A':
miglia_agg = km_percorsi * A
miglia = miglia + miglia_agg
cliente = clienti.Clienti(codice, nome, cognome, miglia)



myclienticodice = cliente

print("\nInformazioni aggiornate.")
chiedendo all'utente le miglia già presenti me le aggiorna. E' l'unico modo che ho trovato che mi risolve il problema, spero tu me ne possa suggerire un altro.


--- Ultima modifica di rosaabc in data 2017-02-11 11:40:35 ---
Scusami, so che non sarebbe dovuto uscire così scritto,ma non so usare questo forum :embarrassed: :embarrassed:
Scusami, so che non sarebbe dovuto uscire così scritto,ma non so usare questo forum :embarrassed: :embarrassed:
Devi usare il pulsante quando inserisci il codice, lo evidenzi e premi il pulsante, tutto molto semplice. Prova a postarlo nuovamente, oppure allega il file col codice, oppure usa il comodissimo Pastebin.

Credo comunque che il mio primo consiglio ti possa essere utile.

Cya


Pagina: 1



Esegui il login per scrivere una risposta.