Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[BUG] Contador de cédulas únicas

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()

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Obrigado pelo compartilhamento!