同时重复变量时循环删除迭代

问题描述 投票:0回答:1

[我正在跟MIT的python课程简介一起来有效地隔离这段时间,我发现了一些让我感到困惑的地方。

我只发布一段代码,因为我只关注此while循环。如果我在下面运行循环,则会得到159个月的正确答案:

while current_savings < down_payment:
    current_savings += monthly_savings + (current_savings*0.04)/12
    months += 1

但是如果我运行下一个,它将给我158个月的答案:

while current_savings < down_payment:
    current_savings += monthly_savings
    current_savings += (current_savings*0.04)/12
    months += 1

我对第二个代码字符串为什么要保留一个月感到有些困惑。任何人都可以解释一下如何读取此代码吗?

python while-loop syntax
1个回答
1
投票

第一个

在此current_savings中的(current_savings*0.04)/12具有current_savings的第一个值。

while current_savings < down_payment:
    current_savings = current_savings + monthly_savings + (current_savings*0.04)/12
    months += 1

第二个:

while current_savings < down_payment:
    current_savings = current_savings + monthly_savings
    current_savings = current_savings + (current_savings*0.04)/12 //here current_savings in (current_savings*0.04)/12 has changed after the line above
    months += 1

我摆脱了+=,因此变得更合乎逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.