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(新余额),因为它从未被调用