Python 如何更新循环中的单个变量?
我在while循环中试图做的是用一个10的整数来迭代支付,这样如果这个整数(g)不能得到Python 如何更新循环中的单个变量?,python,loops,Python,Loops,我在while循环中试图做的是用一个10的整数来迭代支付,这样如果这个整数(g)不能得到CBalance 我在while循环中尝试做的是用一个10的整数来迭代支付,这样,如果这个整数(g)不能得到CBalance,我想我终于明白了你的问题是什么,以及是什么导致了问题——也就是一个简单的变量名拼写错误。要修复它,只需更改while循环中if后面的最后一行语句: if month > 12: month = 0 g += 1
CBalance
我在while循环中尝试做的是用一个10的整数来迭代支付,这样,如果这个整数(g)不能得到CBalance,我想我终于明白了你的问题是什么,以及是什么导致了问题——也就是一个简单的变量名拼写错误。要修复它,只需更改while
循环中if
后面的最后一行语句:
if month > 12:
month = 0
g += 1
Cbalance = Balance
致:
这就解释了为什么所有的值都没有被重置。如果你明确地提到你的问题中的变量,如果你知道的话,这会很有帮助。无论如何,当您使用大写和mixedCase变量名时,这种情况更可能发生
由于这个原因,许多程序员试图避免使用它们,尤其是在Python这样的语言中,在使用它们之前通常不必声明变量。您可能想查看PEP 8的风格指南部分。您的代码似乎在按照您所说的做。问题是什么?只是一个注释:请不要在Python中大写变量名,这几乎总是为类保留的。有更多的信息。@frb:实际上,pep8并没有说大写字母的名称只能用于类。让我澄清一下。如果余额在12个月内可以小于或等于零,则代码运行良好。我的问题是,如果余额不能在12个月内下降,我需要循环重新开始,除g外,所有变量都具有原始值。如果我输入一个120的余额和一个.1的利率,那么它会给我一个-3.03的余额,月=0,g=2。事实上,你添加的东西没有多大帮助,除了让我再次思考你的问题…突然我有了顿悟,并相应地更新了我的答案。希望我没弄错。
Payment = 10 * 1 //First while payment = 10
Payment = 10 * 1 //payment = 10 again.
CBalance = CBalance * (1 + monthlyI) - 10
counter = 1;
while CBalance > 0:
Payment = Payment*counter
month += 1
counter += 1
CBalance = CBalance *(1+ monthlyI)- Payment
if month > 12:
month = 0
counter = 1
g += 1
Cbalance = Balance
if month > 12:
month = 0
g += 1
Cbalance = Balance
if month > 12:
month = 0
g += 1
CBalance = Balance # note corrected spelling of variable name on left