Format saindo sem os digitos

Bom dia!

Pessoal estou com um problema.
Tenho o seguinte código

a = float(input())
b = float(input())
avg = ((a * 3.5) + (b * 7.5)) /11
print(f'MEDIA = {avg :2.5}')

Nele todos os outputs estão saindo corretamente, menos quando eu uso 10 e 10 de parametro, ele não imprime as casas decimais, imprime apenas 10.0

Alguem poderia me ajudar?

Obrigado!

No formato você tem que colocar “f” depois da quantidade de casas decimais:

print(f'MEDIA = {avg:2.5f}')

Assim ele imprime 10.00000 corretamente.

Sugiro que consulte a documentação para saber mais sobre as opções de formatação. Aí você vai ver que 2.5f significa “usar 2 posições e 5 casas decimais”, o que não faz sentido, pois as 5 casas decimais já ocupam mais que 2 posições. Ou seja, poderia ser apenas assim:

print(f'MEDIA = {avg:.5f}')

Se quer usar o primeiro número para definir um tamanho total, sugiro que use algum valor maior que 9 (pois você já tem 5 casas decimais,o ponto e no seu caso, os 2 dígitos do número 10, o que já dá 8 posições). Exemplos:

avg = 10
print(f'{avg:2.5f}') # tamanho menor que 8, não faz diferença
print(f'{avg:10.5f}')
print(f'{avg:15.5f}')
print(f'{avg:20.5f}')

A saída do código acima é:

10.00000
  10.00000
       10.00000
            10.00000

Muito obrigado!