#python
#python
Вопрос:
Я хочу производить платежи за электроэнергию, уменьшая баланс в списке данных счетами в списке электроэнергии.
data = [{"norek":"932012042", "name":"Ahmad Sujagad", "balance":5000000},
{"norek":"932012052", "name":"Basuki Pepeh", "balance":4000000},
{"norek":"932012099", "name":"Bambang Gentolet", "balance":3500000}]
data_ele =[{"noseri":"7932392", "name":"Ahmad Sujagad", "bill":320000},
{"noseri":"7932384", "name":"Basuki Pepeh", "bill":250000},
{"noseri":"7932345", "name":"Bambang Gentolet", "bill":180000}]
Когда я выполняю транзакции, баланс уменьшается, но когда я выбираю вариант 1, почему он не уменьшается?
print("1.Electricn2.Water")
option = int(input("Please Select Menu :"))
if option == 1:
print("total bill : ",dlist['bill'])
bayar = input("Are You Sure You're Paying? (Y/T)")
if bayar == "Y" or bayar == "y":
print("No Seri : ",dlist['noseri'],"n","name :",dlist['name'])
print("your remaining balance :",duser['balance']-dlist['bill'])
elif bayar == "T" or bayar == "t":
print("Payment Cancelled")
Консоль:
Please Select Menu :1
total bill : 320000
Are You Sure You're Paying? (Y/T)y
No Seri : 7932392
name : Ahmad Sujagad
your remaining balance : 4680000
когда я возвращаюсь к первому варианту, баланс не уменьшается:
if option == 1:
print("your remaining balance :",duser['balance'])
Консоль:
Please Select Menu :1
your remaining balance : 5000000
Ответ №1:
В следующей строке:
print("your remaining balance :",duser['balance']-dlist['bill'])
… вы только показываете результат, но не обновляете баланс. Замените эту строку на:
duser['balance'] -= dlist['bill'] # update!
print("your remaining balance :", duser['balance']) # show new balance