1
resposta

Há um erro na alternativa dada como correta.

Conforme informado anteriormente pelo Humberto Tiggemann há um erro na alternativa que foi dita como correta. O resultado da expressão "R$ {:7.1f}".format(1000.12) deve ter dois espaços entre o símbolo R$ e o valor apresentado 1000.12. Explico:

  • Foi pedido que o número tenha 7 dígitos, mas apenas uma casa decimal (:7.1f)
  • Uma casa decimal, manos menos o ponto sobrem 5 dígitos caracteres
  • Portanto, como o número inteiro 1000 tem apenas 4 e não definido o caracter filler à saída é adicionado espaço.

Como reproduzir:

>>> print("R$ {:7.1f}".format(1000.12))
R$  1000.1
`

Há dois espaços aqui: R$__1000.1

1 resposta

Bom dia José Francisco Pereira Notaro, tudo bem? Também estou estudando Python e acho que posso ajudar na sua dúvida. Primeiro vou fazer o tradicional:

print("R$ {}".format(1000.12))

e o resultado será R$ 1000.12 (Possui UM espaço. Este espaço NADA tem a ver com a formatação escolhida para o número.

Agora, vou apresentar o de sua dúvida (veja que há UM espaço entre o $ e a {.

print("R$ {:7.1f}".format(1000.12)), vamos ter R$, um espaço e só depois começa a formatação do número. Como o número final possui 7 dígitos, sendo um decimal, teremos o número 1000.1, que possui 6 dígitos. para completar, um espaço a mais é dado automaticamente. R$ <espaço da frase> formatação do número. R$ 1000.1.

Faça assim e veja o resultado: print("R$ {:07.1f}".format(1000.12)), ao invés de espaços, vai incluir ZEROS à esquerda para completar seu número. o resultado será R$ 01000.1.

Espero ter ajudado!!!