我正在编写一个基本的 python 2 教程,以下代码作为正确答案提供:
total=0
prices = {
"banana" : 4,
"apple" : 2,
"orange" : 1.5,
"pear" : 3,
}
stock = {
"banana" : 6,
"apple" : 0,
"orange" : 32,
"pear" : 15,
}
for fruit in prices:
print fruit
print "price: %s" % prices[fruit]
print "stock: %s" % stock[fruit]
total = total + prices[fruit] * stock[fruit] # pretend this line is bolded
print total
#prints sum of total (0) and prices multiplied by stock (117). Equals 117.
我想知道的是为什么下面的代码替换倒数第二行(在上面的块中加粗)返回零而不是返回 117。
total2 = prices[fruit] * stock[fruit]
print total2 + total
#should be total2(117) plus total(0). Equals 117
谁能告诉我为什么python逻辑将变量“total”与“total2”区别对待。我怀疑这与以下事实有关:总价格乘以库存之一等于零,而零乘以任何东西都为零。在我看来,我应该能够创建一个全新的变量(total2),其中包含价格 X 股票的结果,然后将其添加到总数中。对于代码中缺少缩进,我深表歉意,似乎无法让代码完全按照格式发布。
浮云间
相关分类