Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Feedback

Fiz o exercício abaixo, e gostaria de um feedback para saber se estou indo no caminho certo, ou se há algo que eu poderia melhorar no meu código?

Faça um Programa para um caixa eletrônico. O programa deverá perguntar ao usuário a valor do saque e depois informar quantas notas de cada valor serão fornecidas. As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. O valor mínimo é de 10 reais e o máximo de 600 reais. O programa não deve se preocupar com a quantidade de notas existentes na máquina. a. 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; b. 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.

condicao = True

while(condicao):
    valor = int(input('Digite o valor para saque: '))
    if(valor < 10 or valor > 600):
        print('Valor inválido! Digite um valor maior que R$10 e menor que R$600.')
    else:
        condicao = False

notas_de_100 = int((valor - (valor%100))/100)
notas_de_50 = int((valor%100)/50)
notas_de_10 = int(((valor%50)/10))
notas_de_1 = valor%10

if(notas_de_100 == 1):
    print(f'{notas_de_100} nota de R$100')
elif(notas_de_100 > 1):
    print(f'{notas_de_100} notas de R$100')
if(notas_de_50 == 1):
    print(f'{notas_de_50} nota de R$50')
elif(notas_de_50 > 1):
    print(f'{notas_de_50} notas de R$50')
if(notas_de_10 == 1):
    print(f'{notas_de_10} nota de R$10')
elif(notas_de_10 > 1):
    print(f'{notas_de_10} notas de R$10')
if (notas_de_1 == 1):
    print(f'{notas_de_1} nota de R$1')
elif (notas_de_1 > 1):
    print(f'{notas_de_1} notas de R$1')
2 respostas
solução!

Oi Alexandre, como você está?

Você está indo bem, o código está no caminho certo. A título de curiosidade, uma outra maneira que você pode fazer o laço de repetição para caso o valor não esteja no range entre 10 a 600 é fazer o uso da condição dentro do próprio while, por exemplo:

valor = int(input('Digite o valor para saque: '))
while(valor < 10 or valor > 600):
    print('Valor inválido! Digite um valor maior que R$10 e menor que R$600.')
    valor = int(input('Digite o valor para saque: '))

Mas da forma como você fez utilizando uma variável auxiliar também está correto. Fica a critério.

Qualquer dúvida estou por aqui, tá bom?

Abraços e bons estudos!

Oi Nádia, obrigado pelo retorno. Sempre é bom dicas de quem já tem experiência.