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

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 v_i é o valor investido pela pessoa i, V_{\text{total}} é a soma dos investimentos e P é o prêmio, então a parte de i é
\text{parte}_i = \frac{v_i}{V_{\text{total}}}\times P.
  • Depois, mostrar cada \text{parte}_i com duas casas decimais.

Passo 3

Explicando a fórmula com detalhes e cada variável:
  • v_{\text{Pedro}} é quanto o Pedro apostou (valor lido do usuário).
  • v_{\text{João}}ã é quanto o João apostou.
  • v_{\text{Marcela}} é quanto a Marcela apostou.
  • V_{\text{total}} = v_{\text{Pedro}} + v_{\text{João}} + v_{\text{Marcela}}ã.
  • P é o valor do prêmio (lido do usuário).
  • A parte do Pedro fica
\text{Prêmio\_Pedro} = \frac{v_{\text{Pedro}}}{V_{\text{total}}}\times P,ê
e analogamente para João e Marcela:
\text{Prêmio\_João} = \frac{v_{\text{João}}}{V_{\text{total}}}\times P,\qquad \text{Prêmio\_Marcela} = \frac{v_{\text{Marcela}}}{V_{\text{total}}}\times P.êããê
  • Observação numérica: se V_{\text{total}}=0 haveria divisão por zero; nesse caso faz sentido considerar que ninguém investiu e que as partes são 0{,}00.

Passo 4

Como implementar isso em Python (passo a passo com explicação das operações):
  1. Ler cada valor com a função input() e converter para número de ponto flutuante com float(...), por exemplo:
    • pedro = float(input("Digite o valor que o Pedro apostou: "))
  2. Calcular a soma:
    • total = pedro + joao + marcela
  3. Verificar se total é zero para evitar divisão por zero. Se for zero, atribuir 0.0 para cada prêmio; caso contrário calcular cada parte com a fórmula do passo anterior.
  4. 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 :.2f diz para formatar o número como ponto flutuante com exatamente duas casas decimais, realizando o arredondamento correto. Isso faz com que, por exemplo, \,71428{,}571428\ldots 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):
    • v_{\text{Pedro}}=1{,}5
    • v_{\text{João}}=4{,}0ã
    • v_{\text{Marcela}}=5{,}0
    • P=500000
  • Soma:
V_{\text{total}}=1{,}5+4{,}0+5{,}0=10{,}5.
  • Parte do Pedro:
\text{Prêmio\_Pedro}=\frac{1{,}5}{10{,}5}\times500000=\frac{15}{105}\times500000=\frac{1}{7}\times500000=71428{,}571428\ldotsê
Arredondando para duas casas:
71428{,}57.
  • Parte do João:
\text{Prêmio\_João}=\frac{4{,}0}{10{,}5}\times500000=\frac{40}{105}\times500000=\frac{8}{21}\times500000=190476{,}190476\ldotsêã
Arredondando:
190476{,}19.
  • Parte da Marcela:
\text{Prêmio\_Marcela}=\frac{5{,}0}{10{,}5}\times500000=\frac{50}{105}\times500000=\frac{10}{21}\times500000=238095{,}238095\ldotsê
Arredondando:
238095{,}24.
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 :.2f para garantir exatamente duas casas decimais, como exige a saída do enunciado.
  • Não esqueça que as mensagens dentro de input(...) e print(...) 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}”)

Exercícios relacionados