Python 3.6Я хочу напечатать точно десятичные разряды
Мне нужно написать программу, в которую я ввожу целое число n. Затем я должен ввести n число учеников вместе с их оценками по математике, физике и химии. Затем я ввожу имя, которое я уже ввел. Я должен напечатать среднее количество баллов, полученных этим человеком. Ответ, который я печатаю, должен печатать до двух знаков после запятой. Я написал код, но я не могу печатать ровно 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 десятичных знака каждый раз. Пожалуйста помоги.
'print ('{0: .2f}'. Format (avg))' (предпочтительный стиль Python 3) или 'print ('%. 2f'% avg)' («старый» стиль). Этот сайт очень полезен: https://pyformat.info/ – Bart
Возможный дубликат [Как я могу отформатировать десятичную строку, чтобы всегда показывать 2 десятичных знака?] (Http://stackoverflow.com/questions/1995615/how-can- я-формат-а-десятичного к всегда-шоу-2-десятичные-мест) – Bart