为什么变量在循环中调用后会发生变化?

时间:2019-08-14 07:11:42

标签: python loops dictionary for-loop

请明确一点,我是一个绝对的初学者,我正在自学python。因此,如果这个问题很明显是idk。另外,如果您可以推荐我一些东西来学习python逻辑,我将不胜感激。

因此,该变量名为total,等于零。当我在循环后打印总数时,总数变为117。

为什么在循环后调用总计时为什么会更改?它不应该保持不变,因为它不在循环内吗?

prices = {"banana": 4, "apple": 2, "orange": 1.5, "pear": 3}
stock = {"banana": 6, "apple": 0, "orange": 32, "pear": 15}


total = 0

for food in prices:
  print prices[food] * stock[food]
  total = total + prices[food] * stock[food]
print total

我希望总数保持为0。

1 个答案:

答案 0 :(得分:3)

循环不是它们自己的作用域,因此循环内部的总数与循环外部的总数相同,您可以通过在循环内和循环外输出id(total)来看到它,并看到它是相同的