Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] Contador de cédulas únicas

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

    try:
        valor = int(input('Digite o valor: '))
        if valor <= 0:
            print('ERRO: O valor deve ser positivo.')
        elif valor % 2 != 0:
            print('ERRO: O valor deve ser multiplo de 2.')
        else:
            print('Cedulas entregues:')

            for cedula in cedulas:
                quantidade = valor // cedula
                if quantidade > 0:
                    print(f'{quantidade} cedulas de R$ {cedula}')
                    valor = valor % cedula

    except ValueError:
        print('ERRO: Digite um valor numerico valido.')

caixa_eletronico()
1 resposta

Oi, Apollo! Como vai?

Gostei da forma como você organizou a solução utilizando uma lista de cédulas e um for para percorrer cada valor disponível. Também foi muito interessante incluir o tratamento de erros com try e except, além das validações para valores positivos e múltiplos de 2, tornando o programa mais robusto e amigável para quem utiliza a aplicação.

Uma dica interessante para o futuro é utilizar a função divmod(), que retorna ao mesmo tempo a quantidade de cédulas e o valor restante. Veja este exemplo:


valor = 186
quantidade, resto = divmod(valor, 50)

print(quantidade)
print(resto)

Nesse exemplo, quantidade recebe o número de cédulas de 50 e resto recebe o valor que ainda precisa ser calculado, deixando o código mais enxuto.

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