Python 如何更新循环中的单个变量?

Python 如何更新循环中的单个变量?,python,loops,Python,Loops,我在while循环中试图做的是用一个10的整数来迭代支付,这样如果这个整数(g)不能得到CBalance 我在while循环中尝试做的是用一个10的整数来迭代支付,这样,如果这个整数(g)不能得到CBalance,我想我终于明白了你的问题是什么,以及是什么导致了问题——也就是一个简单的变量名拼写错误。要修复它,只需更改while循环中if后面的最后一行语句: if month > 12: month = 0 g += 1

我在while循环中试图做的是用一个10的整数来迭代支付,这样如果这个整数(g)不能得到
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