我在SO上似乎找不到很好的答案,所以这是我的问题:
我有一本字典,我在上面做了一些数学运算:
for key in categoryStore:
finalScoreStore[key] = (categoryStore[key] / totalStore[key]) * weightStore[key]
这最终给我留下了其中有大量词典的字典。我正在尝试将其降低到2位小数:
{'Exercise': 2.6624999999999996, 'Assignment': 9.333333333333334, 'Project': 13.770000000000001, 'Quiz': 18.4375, 'Exam': 29.88, 'Finals': 8.64}
我尝试用print语句执行:.2f,但出现错误,可能是因为它试图格式化键和值。因此,我不确定如何将所有值格式化为2个小数位。我认为这必须在上面的第一个代码块中或之后立即完成。
感谢您的帮助!
答案 0 :(得分:1)
如果要浮动,请将循环更改为:
for key in categoryStore:
finalScoreStore[key] = round((categoryStore[key] / totalStore[key]) * weightStore[key], 2)
如果您想要一个字符串:
for key in categoryStore:
finalScoreStore[key] = '{:.2f}'.format((categoryStore[key] / totalStore[key]) * weightStore[key])