首页 > 解决方案 > For 循环似乎比应有的变量添加了更多内容

问题描述

因此,我想创建一个循环,该循环将在任何给定时间增加项目的成本,同时还记录实例的总成本。问题是,每当我执行程序时,输出似乎比它应该的多,如果我将变量的值更改cost为 10,那么它似乎比它应该的略多。这是代码:

amount = 3
cost = 0
increase = 10

for i in range(amount):
  cost += increase
  increase += increase


total = cost
print(total)

cost = 0总数变成 70 时,我认为应该是 60,然后当cost = 10总数变成 80 时,我认为应该是 90。

任何帮助将不胜感激 - 很抱歉提出这样一个愚蠢的问题。这可能是一个超级简单的修复。

标签: pythonpython-3.x

解决方案


increase每次循环都加倍。我不确定您期望如何获得 60 和 90 的结果。print我在循环的底部插入了一个简单的:

for i in range(amount):
  cost += increase
  increase += increase
  print("TRACE", cost, increase)

输出:

TRACE 10 20
TRACE 30 40
TRACE 70 80
70

这能让你解决你的问题吗?也许你需要的是增加cost一个线性递增的数量:

for i in range(amount):
  cost += increase
  increase += 10

输出:

TRACE 10 20
TRACE 30 30
TRACE 60 40
60

推荐阅读