Formatando números na função print

Você foi contratado pela Caixa Econômica Federal para atualizar seu sistema.
Como primeira tarefa, você vai criar um script que diga quanto cada ganhador da Mega-Sena vai receber, ao ter o prêmio dividido com outros ganhadores.

Solução:
Faça com que o programa peça um valor (float) ao usuário, que é um valor em dinheiro do prêmio.

Em seguida, peça o número de pessoas (inteiro) que acertaram.
Por fim, exibimos quanto cada um vai ganhar.

Nosso código fica:

# Prêmio da Mega-Sena
total = float( input('Premio total da Mega: ') )

# Número de ganhadores
num = int( input('Numero de ganhadores: ') )

print('Cada um vai ficar com R$ ', (total/num) )


Mas veja como ficou a saída quando colocamos o prêmio de 1 milhão de reais para 3 pessoas:
Mudar casas decimais exibidas
Mas...que número feio! R$ 333333.333333333 ?

Formatando Números em Python

Ninguém escreve com tantas casas decimais, nem existe esse valor pequeno de centavos.

O correto é ter apenas duas casas decimais, ou seja, dois números depois da vírgula.

Para isso, vamos usar o operador %f, que representa um decimal que iremos formatar (mudar a forma como é exibido).

Por exemplo, se eu usar %.2f, o Python vai entender que quer duas casas decimais após o ponto.

Se usar %.1f, o Python exibe só uma casa decimal.

Colocamos esse treco aí dentro da função print.
Mas, calma, não vai aparecer isso aí, e sim o número que colocamos na função print.

Veja um exemplo correto do código anterior:

# Prêmio da Mega-Sena
total = float( input('Premio total da Mega: ') )

# Número de ganhadores
num = int( input('Numero de ganhadores: ') )

print('Cada um vai ficar com R$ %.2f' % (total/num) )

Pronto, agora o resultado vai ser:
Como programar em Python

Veja agora este outro exemplo de formatação:

# Prêmio da Mega-Sena
total = float( input('Premio total da Mega: ') )

# Número de ganhadores
num = int( input('Numero de ganhadores: ') )

print('O premio total foi R$%.2f para %d ganhadores, onde cada um ficou \
com R$%.2f' %(total,num,total/num))

Usamos %.2f duas vezes, para os valores em dinheiro, decimais.
Para o número inteiro 'num', se usa %d

Nenhum comentário:

Postar um comentário