我想打印精确的小数位

时间:2017-02-10 12:43:12

标签: python python-3.x dictionary

Python 3.6

我必须编写一个输入整数n的程序。然后我必须输入n个学生的名字以及他们在数学,物理和化学方面的分数。然后我输入我已输入的名称。我必须打印那个人获得的分数的平均值。我打印的答案必须打印最多2位小数。我编写了代码,但每次都无法打印2位小数。 例如:

37.00

26.50

32.87

这是我的代码:

n = int(input("Number of persons: "))

scoresheet = []

for i in range(n):
name, math, phy, chem = input("Enter name, math score, phy score, chem score : ").split()
scoresheet.append({'name' : name, 'math' : math, 'phy' : phy, 'chem' : chem})

who = input()

for i in scoresheet:
    if (i['name'] == who):
        m = float(i['math'])
        p = float(i['phy'])
        c = float(i['chem'])
        sum = m + p + c
        avg = sum / 3
        break

avg = round(avg,2)

print(avg)

我必须使用字典。我的结果是正确的。唯一的问题是我每次都必须打印2位小数。请帮忙。

1 个答案:

答案 0 :(得分:-1)

您只需将最后一行更改为:

print("{0:.2f}".format(avg))

Here是有关python中数字格式的更多信息。