我在python中乘法字典时遇到问题

我在python中乘法字典时遇到问题,python,dictionary,Python,Dictionary,在我的两本字典里,我很难把数字相乘。这是我的密码: prices = { "banana" : 4, "apple" : 2, "orange" : 1.5, "pear" : 3, } stock = { "banana" : 6, "apple" : 0, "orange" : 32, "pear" : 15, } total=0 for key in prices: print "price: %s*%s

在我的两本字典里,我很难把数字相乘。这是我的密码:

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

total=0
for key in prices:
    print "price: %s*%s" % stock[key]*prices[key]
    total=total+stock[key]*prices[key]

print total 
当我将股票乘以价格时,对于orange它应该是1.5*32,对于banana它应该是4*6,但是当我编译这段代码时,我得到了一条错误消息

print "price: %s*%s" % stock[key]*prices[key]
需要两个值(每个
%s
占位符一个),但您只提供一个(乘法结果)

此外,您需要在乘法前后加括号,否则
%
运算符将仅适用于
股票[key]

print "price: %s" % (stock[key]*prices[key])
或者更好

print "price: %d" % (stock[key]*prices[key])
简单错误

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

    print "price: %s*%s" % (stock[key],prices[key]) 
    total=total+stock[key]*prices[key]

print total

不清楚您是如何运行代码的,但看起来您只是没有缩进for循环的主体。请更正缩进,因为这是python的一个非常重要的部分。这是实际缩进吗?
print
是错误的(没有缩进,格式字符串没有意义),但是您的代码没有问题。编辑:实际上你应该使用
来输入键(价格)
而不是
来输入键(价格)
(它迭代键值元组)。不,
来输入键(价格)
实际上迭代键[或Python 3中的键视图]。@Pentazoid111:我想是因为你没有显示实际的错误消息,没有正确格式化代码,没有解释你到底想发生什么。“应该是1.5*32”不是很具体。