python - 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。
任何帮助将不胜感激 - 很抱歉提出这样一个愚蠢的问题。这可能是一个超级简单的修复。
解决方案
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
推荐阅读
- java - How to set tokenizer options when using the simple CoreNLP API?
- javascript - how can i solve ESLint error that 'no-unused-var' with google map
- git - 执行 git checkout -f 时查找标签名称
- database - 检查pandas python中的所有日期是否都存在于一年中
- django - Django: Return serializer ValidationError in Model save() method
- php - Slim 3 Framework 下载文件不显示下载对话框
- android-studio - 如何解决我在 android studio 1.5 中的错误?
- angularjs - 每当管理员创建新参与者时创建应用程序用户
- java - 当响应具有 HTTP 错误状态代码时,为什么我会得到“仅允许一个连接接收订阅者”?
- ruby - 有没有办法在 Ruby 中使用 Net::HTTP 传递参数和标头?