Tem um erro nesse código, o valor informado 188 é positivo e múltiplo de 2.
Porém, não é divisível pelo número de cédulas disponíveis, com isso, o resultado fica errado! Faltando 1 real na entrega das cédulas:
O total ficou 187 e não 188!
Cédulas entregues:
1 de R$ 100
1 de R$ 50
1 de R$ 20
1 de R$ 10
1 de R$ 5
1 de R$ 2
Segue a Correção:
def conta_cedulas():
cedulas = [100, 50, 20, 10, 5, 2]
try:
valor = int(input("Digite o valor do saque: ").strip())
if valor <= 0:
print("Erro: O valor deve ser positivo.")
return
valor_restante = valor
cedulas_entregues = []
for cedula in cedulas:
quantidade = valor_restante // cedula
if quantidade > 0:
cedulas_entregues.append((cedula, quantidade))
valor_restante %= cedula
if valor_restante != 0:
print("Erro: Não é possível realizar o saque com as cédulas disponíveis.")
else:
print("Cédulas entregues:")
for cedula, quantidade in cedulas_entregues:
tipo = "cédula" if quantidade == 1 else "cédulas"
print(f"{quantidade} {tipo} de R$ {cedula}")
except ValueError:
print("Erro: Digite um valor numérico válido.")
conta_cedulas()