我在codecademy上学习Python课程,我应该在一对词典中打印每个项目,然后是它们的价格和库存量。这是我写的代码:
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: %d" % prices[fruit]
print "stock: %d" % stock[fruit]
除橙色价格外,所有产品的输出都是正确的。使用%d,它打印值1.当我用%s替换%d时,打印正确的值1.5,但我不明白为什么%d不能用于十进制值。 1.5是一个数字,所以我不应该使用%d而不是%s?
答案 0 :(得分:2)
%d转换为十进制,没有浮动部分
%s保持浮动并将其完全显示在屏幕上
如果要打印浮动,请使用%f
答案 1 :(得分:1)
因为%d是像整数这样的数字格式,你应该使用%f而不是^^这是浮点数。