所以,我想创建一个循环,在记录实例的总开销的同时,在给定的次数内增加一个项的开销。问题是,每当我执行程序时,输出似乎比应该的多,如果我将变量cost的值更改为10,那么它似乎比应该的稍微多一些。代码如下:

amount = 3
cost = 0
increase = 10

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


total = cost
print(total)

cost = 0total变成70时,当我认为应该是60时,当cost = 10total变成80时,当我认为应该是90时。
任何帮助都将不胜感激-很抱歉问了这么愚蠢的问题。这可能是一个超级简单的解决方案。

最佳答案

你每次在循环中都会加倍。。I inserted a simple increase at the bottom of the loop:

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

Output:
TRACE 10 20
TRACE 30 40
TRACE 70 80
70

这能解决你的问题吗?也许您需要的是将print增加为一个线性递增的量:
for i in range(amount):
  cost += increase
  increase += 10

Output:
TRACE 10 20
TRACE 30 30
TRACE 60 40
60

10-08 06:36