首页 > 解决方案 > 数据列表中的余额不应该减少

问题描述

我想通过用电费清单中的账单减少数据清单中的余额来支付电费。

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.Electric\n2.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

标签: python

解决方案


在以下行中:

print("your remaining balance  :",duser['balance']-dlist['bill'])

...您仅显示结果,但并未更新余额。将此行替换为:

duser['balance'] -= dlist['bill']  #  update!
print("your remaining balance  :", duser['balance'])  # show new balance

推荐阅读