- Exemplo 1: Para sacar a quantia de 256 reais, o programa fornece duas notas de 100, uma nota de 50, uma nota de 5 e uma nota de 1;
- Exemplo 2: Para sacar a quantia de 399 reais, o programa fornece três notas de 100, uma nota de 50, quatro notas de 10, uma nota de 5 e quatro notas de 1.
"
Contar Notas e Cédulas em Python
Há várias maneiras diferentes de darmos 256 reais, ou qualquer outro valor.Poderíamos, por exemplo dar 256 cédulas de 1 real (hoje em dia só moeda, mas antes tinha cédula de 1 real sim).
Mas seria altamente inconveniente sair de um caixa eletrônico com centenas de cédulas. Ou seja, queremos usar o menor número de cédulas possíveis!
Isso é feito da seguinte maneira: dando cédulas de valor alto.
Notas de R$ 100,00
Como fazemos isso?
Dividindo o valor que o usuário pediu pra sacar por 100.
Vamos colocar em 'numero', o valor que ele solicitou que fosse sacado.
Se fizermos:
cem = numero / 100
Teremos que cem=2.56
Não seria legal se a gente tirasse esse ponto fluante e essa parte decimal?
É fácil fazer isso, só usar a função int(), que vai transformar esse número em inteiro (ele pega a parte inteira e descarta o resto).
Assim, o número de cédulas de 100 reais é:
cem = int( numero/10 )
Se antes queríamos sacar 256 reais, agora queremos somente 56, pois já demos os 200 reais.
Vamos transformar nosso valor de 256 pra 56 da seguinte maneira:
numero = numero - (cem*100)
(numero = 256 - 2*100 = 56)
Concorda?
Notas de R$ 50,00
Para isso, basta dividir nosso número por 50 e pegar a parte inteira, como fizemos com as cédulas de 100:
cinquenta =int( numero/50 )
No nosso exemplo de 256 reais: cinquenta = int(56/50) = int(1.12) = 1
Agora que já usamos as de 50 reais, vamos tirar ela de nosso número:
numero = numero - (cinquenta*50)
(numero = 56 - 1.50)
Notas de R$ 10,00
dez = int( numero/10 )
numero = numero - (dez*10)
Notas de R$ 5,00
numero = numero - (cinco*5)
E o que sobrou, é nota de um real:
um = numero
Nosso código Python fica?
numero = int(input('Valor para sacar [10-600]: ')) cem = int(numero / 100) numero = numero - (cem*100) cinquenta = int(numero/50) numero = numero - (cinquenta*50) dez = int(numero/10) numero = numero - (dez*10) cinco = int(numero/5) numero = numero - (cinco*5) um = numero print('Notas R$100,00 = ',cem) print('Notas R$ 50,00 = ',cinquenta) print('Notas R$ 10,00 = ',dez) print('Notas R$ 5,00 = ',cinco) print('Notas R$ 1,00 = ',um)
Nosso código também poderia ser:
numero = int(input('Valor para sacar [10-600]: ')) cem = int(numero / 100) numero = numero % 100 cinquenta = int(numero/50) numero = numero % 50 dez = int(numero/10) numero = numero % 10 cinco = int(numero/5) numero = numero % 5 um = numero print('Notas R$100,00 = ',cem) print('Notas R$ 50,00 = ',cinquenta) print('Notas R$ 10,00 = ',dez) print('Notas R$ 5,00 = ',cinco) print('Notas R$ 1,00 = ',um)
Consegue entender o motivo?
print("Valor mínimo do saque: R$10,00.")
ResponderExcluirprint("Valor máximo do saque: R$600,00")
saque = int(input("Valor do saque: R$"))
while(saque<10) or (saque>600):
print("Valor fora dos limites.")
saque = int(input("Digite novamente: R$"))
if(saque>=10) and (saque<=600):
resto1 = saque % 100
resto2 = resto1 % 50
resto3 = resto2 % 10
resto4 = resto3 % 5
nota100,nota50,nota10,nota5,nota1 = saque//100,resto1//50,resto2//10,resto3//5,resto4//1
print("R$100,00:",nota100)
print("R50,00:",nota50)
print("R$10,00:",nota10)
print("R$5,00:",nota5)
print("R$1,00:",nota1)
#FIZ DIFERENTE
ResponderExcluirprint("Valor mínimo do saque: R$10,00.")
print("Valor máximo do saque: R$600,00")
saque = int(input("Valor do saque: R$"))
while(saque<10) or (saque>600):
print("Valor fora dos limites.")
saque = int(input("Digite novamente: R$"))
if(saque>=10) and (saque<=600):
resto1 = saque % 100
resto2 = resto1 % 50
resto3 = resto2 % 10
resto4 = resto3 % 5
nota100,nota50,nota10,nota5,nota1 = saque//100,resto1//50,resto2//10,resto3//5,resto4//1
print("R$100,00:",nota100)
print("R50,00:",nota50)
print("R$10,00:",nota10)
print("R$5,00:",nota5)
print("R$1,00:",nota1)
preciso ainda hoje de ajuda nessa questão : Escreva um programa em Python que será utilizado em um novo caixa automático de banco, que ao receber um valor em reais informe a quantidade de cada tipo de cédula e moedas necessárias para ser fornecida.
ResponderExcluirO caixa trabalha com as seguintes cédulas e moedas:
* Cédulas de: R$ 200,00, R$ 100,00, R$ 50,00, R$ 20,00, R$ 10,00, R$ 5,00 e R$ 2,00.
* Modelas de: R$ 1,00, R$ 0,50, R$ 0,25, R$ 0,10, R$ 0,05 e R$ 0,01.