Debugging 每次循环后,平衡变量保持重置

Debugging 每次循环后,平衡变量保持重置,debugging,variables,python-3.6,Debugging,Variables,Python 3.6,我想知道如何让我的“平衡”变量根据每次增加或减少的值而变化,而不为下一个循环重置。 此时,它将加或减给定值并返回正确的数字,但在下一个循环中,它将使用原始的基值,而不是使用上一个循环中的新值 import time print ("Welcome to balance tracker!") sBal=float(input ("Starting balance: ")) float(sBal) transactionAmounts = [] transactionTypes = []

我想知道如何让我的“平衡”变量根据每次增加或减少的值而变化,而不为下一个循环重置。
此时,它将加或减给定值并返回正确的数字,但在下一个循环中,它将使用原始的基值,而不是使用上一个循环中的新值

import time 

print ("Welcome to balance tracker!")
sBal=float(input ("Starting balance:    "))
float(sBal)
transactionAmounts = []
transactionTypes = []
print ("Your current balance is", '$',sBal)
while True:
    input("Press enter to continue")
    print ("""
         ------------
         [A]ddition
         [S]ubtraction
         [H]istory
         [I]nformation
         [Q]uit
            ------------
          """)

    choice=input("What would you like to do?    ")
    choice = choice.upper()

    if choice == "A":
        aval=float(input ("Enter amount you would like to add here:    "))
        nBal=(sBal)+(aval)
        transactionTypes.append('Addition')
        transactionAmounts.append(float(aval))
        balance = float(sBal) + aval
        print ("Your current balance is $",balance) 
    elif choice == "S":
        aval=input("Enter amount you would like to subtract here:    ")
        nBal=float(sBal)-float(aval)
        transactionTypes.append('Subtraction')
        transactionAmounts.append (float(aval))
        balance = float(sBal) - aval
        print ("Your current balance is $",balance) 

    elif choice == "H":
        aCount = 1
        tCount = 0
        for i in transactionAmounts:
            print ('Transaction',aCount,':',transactionTypes[tCount],i)
            aCount = aCount + 1
            tCount = tCount + 1


    elif choice == "Q":
        break

    else:
        print ("invalid choice")

问题的解决方案是,当您分配余额变量时,您每次都将sBal(起始余额)添加到他们想要添加的金额中。。。这会导致余额始终设置回起始余额加上或减去添加的金额。试着将sBal定义为平衡,也像这样

balance = float(input("Starting balance:      ")) #line 5
float(sBal) #<<<can be deleted #line 6

此外,您还可以删除从未调用的nBal(新余额)。

问题的解决方案是,在分配余额变量时,每次都将sBal(起始余额)添加到他们希望添加的金额中。。。这会导致余额始终设置回起始余额加上或减去添加的金额。试着将sBal定义为平衡,也像这样

balance = float(input("Starting balance:      ")) #line 5
float(sBal) #<<<can be deleted #line 6
您还可以删除您的nBal(新余额),因为它从未被调用