1
resposta

Contador de cédulas únicas

def caixa_eletronico():
    notas = [100, 50, 20, 10, 5, 2]

    try:
        valor = int(input("Digite o valor do saque: "))

        if valor <= 0:
            print("Erro: O Valor deve ser positivo!")
        elif valor % 2 != 0:
            print("Erro: A máquina não possui notas de R$1. O valor deve ser múltiplo de 2")
        else:
            for nota in notas:

                contagem = valor // nota

                # Se o resto não for divisível por 2, reduz 1 nota (só afeta nota de 5)

                if (valor - contagem * nota) % 2 != 0:
                    contagem -= 1

                if contagem > 0:
                    print(f"notas de R$ {nota}: {contagem}")
                    valor = valor % nota

    except ValueError:
        print("Erro: Digite um valor numérico válido")

caixa_eletronico()
1 resposta

Olá, Luiz! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou a lista para organizar as notas com Python, utilizou muito bem o for para percorrer os valores e ainda compreendeu a importância da condicional para validar as regras do saque.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é trabalhar com o divmod() para simplificar o cálculo de quociente e resto. Assim:

valor = int(input("Digite o valor do saque: "))
notas = [100, 50, 20, 10, 5, 2]

for nota in notas:
    contagem, valor = divmod(valor, nota)
    if contagem > 0:
        print(f"notas de R$ {nota}: {contagem}")

Isso faz a divisão inteira e já retorna o resto em uma única operação.

Conteúdos relacionados

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!