需要说明的是,我是一个绝对的初学者,我正在自学 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。
最佳答案
循环不属于自己的作用域,所以循环内的total和循环外的total是一样的,你可以通过在循环内外打印id(total)来查看,发现是同一个
关于python - 为什么变量在循环中调用后会发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57489770/