我在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”不是很具体。