我有这本字典,显示学生的名字和他们的分数。
d = {('z', 'b'): 1, ('a', 'd'): 2, ('a', 'f'): 3}
我需要将此词典的值(分数)更改为百分比并打印出来。
首先,我必须取得分数并将其改为百分比,我已经通过以下方式完成了这项工作:
numbers_list = []
for i in values:
numbers_list.append((i/3)*100)
print('Numbers in percent: ', numbers_list)
然后我必须按照这样的百分比打印学生姓名:
z b 33
a b 66
a f 100
我试过了:
for name in d:
print(format_str.format(name[0], name[1], d[name]))
但它打印出我之前的值(得分),而不是在我计算出来后产生以下输出:
z b 1
a b 2
a f 3
我该如何解决?
答案 0 :(得分:0)
您可以使用内置函数keys()
和values()
或items()
来访问存储在字典中的键值对。如果您只想以百分比打印分数,您可以执行以下操作:
for key, value in d.items():
print " ".join(key) + " {0} %".format(round(value*100/float(3), 2))
如果您想更改字典并存储百分比值而不是绝对分数,您可以这样做:
for key, value in d.items():
d[key] = value*100/float(3)
print " ".join(key) + " {0} %".format(round(d[key], 2))
此处round()
用于将值四舍五入到小数点后两位。