TÓPICO

Por favor, alguém consegue ajudar?

André Queiroz perguntou 2 months ago

Olá, a leitura do meu códio no IDLE aparece correta, mas eu obtenho wrong answer ao submeter.

Alguém poderia me ajudar?

Obrigado.

valor = float(input())

notas = [100, 50, 20, 10, 5, 2]

moedas = [1, 0.50, 0.25, 0.10, 0.05, 0.01]

print('NOTAS:')
for i in range(len(notas)):
    N = int(valor / notas[i])
    valor -= N * notas[i]
    print('%d nota(s) de R$ %.2f' %(N, notas[i]))

valor -= float(notas[i] * N)

print('MOEDAS:')
for j in range(len(moedas)):
    if valor <= 0:
        print('0 moeda(s) de R$ %.2f' %moedas[j])
    else:
        N = int(valor / moedas[j])
        valor -= N * moedas[j]
        print('%d moeda(s) de R$ %.2f' %(N, moedas[j]))

Lembre de não publicar soluções. Sua publicação pode ser revisada por nossos moderadores.

  • Wellerson Salvatore respondido 2 months ago

    Tenta tratar como inteiro notas e moedas, o float pode estar causando erro de precisão...

    valor = input().split(".")
    nota, moeda = int(valor[0]), int(valor[1])
    notas = [100, 50, 20, 10, 5, 2]
    moedas = [50, 25, 10, 5, 1]

    caso sobre algo na variavel nota será apenas 1 real, logo será jogada para a moeda de 1 real...

  • GABRIEL CORREA respondido 2 months ago

    Estou com o mesmo problema. Mesmo o código estando diferente.