Pedro, João e Marcela jogaram na loteria. Caso eles ganhem, o prêmio deve ser repartido proporcionalmente ao valor que cada um deu para a realização da aposta. Escreva um programa que solicita ao usuário quanto cada apostador investiu e o valor do prêmio, e então o programa deve imprimir na tela quanto cada um ganharia do prêmio com base no valor investido.
Observação: as mensagens exibidas para o usuário deverão ser exatamente como apresentado abaixo (mensagens exibidas com os comandos input() e print()).
Exemplo de execução do programa:
Digite o valor que o Pedro apostou: 1.5
Digite o valor que o João apostou: 4.0
Digite o valor que a Marcela apostou: 5.0
Digite o valor do prêmio: 500000
Prêmio do Pedro: 71428.57
Prêmio do João: 190476.19
Prêmio da Marcela: 238095.24
Digite o valor que o João apostou: 4.0
Digite o valor que a Marcela apostou: 5.0
Digite o valor do prêmio: 500000
Prêmio do Pedro: 71428.57
Prêmio do João: 190476.19
Prêmio da Marcela: 238095.24
Passo 1
O que o enunciado pede e quais informações são dadas:
- O programa deve perguntar ao usuário quanto cada apostador investiu: Pedro, João e Marcela.
- O programa deve perguntar também o valor do prêmio.
- O programa deve imprimir quanto cada um receberá do prêmio, repartido proporcionalmente ao quanto cada um investiu.
- As mensagens mostradas ao usuário (os textos passados a input() e print()) devem ser exatamente iguais aos do enunciado:
- "Digite o valor que o Pedro apostou: "
- "Digite o valor que o João apostou: "
- "Digite o valor que a Marcela apostou: "
- "Digite o valor do prêmio: "
- “Prêmio do Pedro: …”, “Prêmio do João: …”, “Prêmio da Marcela: …” (com os valores formatados com duas casas decimais).
Passo 2
Ideia matemática por trás da solução (em palavras simples):
- Primeiro somar os valores investidos pelos três para obter o total investido.
- Cada participante recebe uma fração do prêmio igual à sua fração no total investido.
- Em fórmula: se
é o valor investido pela pessoa , é a soma dos investimentos e é o prêmio, então a parte de é
- Depois, mostrar cada
com duas casas decimais.
Passo 3
Explicando a fórmula com detalhes e cada variável:
-
é quanto o Pedro apostou (valor lido do usuário). -
é quanto o João apostou. -
é quanto a Marcela apostou. -
. -
é o valor do prêmio (lido do usuário). - A parte do Pedro fica
e analogamente para João e Marcela:
- Observação numérica: se
haveria divisão por zero; nesse caso faz sentido considerar que ninguém investiu e que as partes são .
Passo 4
Como implementar isso em Python (passo a passo com explicação das operações):
- Ler cada valor com a função
input()e converter para número de ponto flutuante comfloat(...), por exemplo:pedro = float(input("Digite o valor que o Pedro apostou: "))
- Calcular a soma:
total = pedro + joao + marcela
- Verificar se
totalé zero para evitar divisão por zero. Se for zero, atribuir0.0para cada prêmio; caso contrário calcular cada parte com a fórmula do passo anterior. - Mostrar os resultados com duas casas decimais. Em Python a maneira prática é usar f-strings com o especificador
:.2f, por exemplo:print(f"Prêmio do Pedro: {premio_pedro:.2f}")
Explicação do formato
:.2f:- O
:.2fdiz para formatar o número como ponto flutuante com exatamente duas casas decimais, realizando o arredondamento correto. Isso faz com que, por exemplo,seja impresso como 71428.57.
Passo 5
Cálculo manual usando os números do exemplo para verificar:
- Valores dados no exemplo (pegos do enunciado):
-
- Soma:
- Parte do Pedro:
Arredondando para duas casas:
- Parte do João:
Arredondando:
- Parte da Marcela:
Arredondando:
Esses valores conferem com o exemplo do enunciado.
Passo 6
Dicas práticas e comportamento no momento da prova:
- Escreva o programa em poucas linhas, seguindo a ordem: ler valores → calcular total → verificar divisão por zero → calcular partes → imprimir.
- Use
float(input(...))para aceitar entradas com casas decimais. - Use f-strings com
:.2fpara garantir exatamente duas casas decimais, como exige a saída do enunciado. - Não esqueça que as mensagens dentro de
input(...)eprint(...)precisam coincidir exatamente com as solicitadas no enunciado (acentos, espaços e pontuação).
Resposta
pedro = float(input("Digite o valor que o Pedro apostou: "))
joao = float(input("Digite o valor que o João apostou: "))
marcela = float(input("Digite o valor que a Marcela apostou: “))
premio = float(input(“Digite o valor do prêmio: “))
total = pedro + joao + marcela
if total == 0:
premio_pedro = premio_joao = premio_marcela = 0.0
else:
premio_pedro = pedro / total * premio
premio_joao = joao / total * premio
premio_marcela = marcela / total * premio
print(f"Prêmio do Pedro: {premio_pedro:.2f}”)
print(f"Prêmio do João: {premio_joao:.2f}”)
print(f"Prêmio da Marcela: {premio_marcela:.2f}”)
joao = float(input("Digite o valor que o João apostou: "))
marcela = float(input("Digite o valor que a Marcela apostou: “))
premio = float(input(“Digite o valor do prêmio: “))
total = pedro + joao + marcela
if total == 0:
premio_pedro = premio_joao = premio_marcela = 0.0
else:
premio_pedro = pedro / total * premio
premio_joao = joao / total * premio
premio_marcela = marcela / total * premio
print(f"Prêmio do Pedro: {premio_pedro:.2f}”)
print(f"Prêmio do João: {premio_joao:.2f}”)
print(f"Prêmio da Marcela: {premio_marcela:.2f}”)