Dinheiro
Problema a Ser Solucionado
Em um arquivo chamado cash.py em uma pasta chamada sentimental-cash, escreva um programa que pergunta ao usuário quanto troco é devido e então divide o valor no menor número de moedas possível que pode ser usado para efetuar o pagamento. Você pode fazer isso exatamente como foi feito no Conjunto de Problemas 1, exceto que desta vez seu programa deve ser escrito em Python, e você deve presumir que o usuário informará o troco em dólares (por exemplo, 0,50 dólares em vez de 50 centavos).
Demonstração
Especificação
- Use
get_floatda CS50 Library para obter a entrada do usuário eprintpara exibir sua resposta. Presuma que as únicas moedas disponíveis são moedas de 25 centavos, 10 centavos, 5 centavos e 1 centavo.- Pedimos que você use
get_floatpara conseguir lidar com dólares e centavos, embora sem o símbolo de cifrão. Em outras palavras, se algum cliente deve receber $ 9,75 (como no caso de um jornal custar 25 centavos, mas o cliente pagar com uma nota de $ 10), presuma que a entrada do seu programa será9,75e não$ 9,75ou975. No entanto, se algum cliente deve receber $ 9 exatamente, presuma que a entrada do seu programa será9,00ou apenas9, mas, novamente, não$ 9ou900. Claro que, devido à natureza dos valores de ponto flutuante, seu programa provavelmente funcionará também com entradas como9,0e9,000; você não precisa se preocupar em verificar se a entrada do usuário está "formatada" como o dinheiro deveria ser.
- Pedimos que você use
- Se o usuário não fornecer um valor não negativo, seu programa deve pedir ao usuário um valor válido novamente e novamente até que o usuário obedeça.
- A propósito, para que possamos automatizar alguns testes de seu código, pedimos que a última linha de saída de seu programa seja apenas o menor número possível de moedas: um número inteiro seguido por uma nova linha.
Como Testar
Apesar de check50 estar disponível para este problema, encorajamos você a testar seu código primeiro por conta própria para cada um dos seguintes.
- Execute seu programa como
python cash.pye aguarde por uma solicitação de entrada. Digite0,41e pressione enter. Seu programa deve produzir4. - Execute seu programa como
python cash.pye aguarde por uma solicitação de entrada. Digite0,01e pressione enter. Seu programa deve produzir1. - Execute seu programa como
python cash.pye aguarde por uma solicitação de entrada. Digite0,15e pressione enter. Seu programa deve produzir2. - Execute seu programa como
python cash.pye aguarde por uma solicitação de entrada. Digite1,60e pressione enter. Seu programa deve produzir7. - Execute seu programa como
python cash.pye aguarde por uma solicitação de entrada. Digite23e pressione enter. Seu programa deve produzir92. - Execute seu programa como
python cash.pye aguarde por uma solicitação de entrada. Digite4,2e pressione enter. Seu programa deve produzir18. - Execute seu programa como
python cash.pye aguarde por uma solicitação de entrada. Digite-1e pressione enter. Seu programa deve rejeitar esta entrada como inválida, solicitando que o usuário digite outro número. - Execute seu programa como
python cash.pye aguarde por uma solicitação de entrada. Digitefooe pressione enter. Seu programa deve rejeitar esta entrada como inválida, solicitando que o usuário digite outro número. - Execute seu programa como
python cash.pye aguarde por uma solicitação de entrada. Não digite nada e pressione enter. Seu programa deve rejeitar esta entrada como inválida, solicitando que o usuário digite outro número.
Exatidão
check50 cs50/problems/2024/x/sentimental/cash
Estilo
style50 cash.py
Como Enviar
submit50 cs50/problems/2024/x/sentimental/cash