TOPIC

Python3 Wrong answer (5%) Ajuda pfv

João Victor Arantes Cubel asked 3 months ago

while True:
    try:
        dolares = int(input())
        centavos = int(input())
        if dolares <= 999:
            sd = str(dolares)
            sc = str(centavos)
            i = sd[::-1]
            x = i[0:3]
            xx = x[::-1]
            if centavos < 10 and centavos != 0:
                centavos = centavos * 10
                sc = str(centavos)
                print('${}.{}'.format(xx, sc[::-1]))
            elif centavos == 0:
                sc = str(centavos)
                print('${}.{}{}'.format(xx, sc, sc))
            else:
                print('${}.{}'.format(xx, sc))

        elif dolares <= 999999:
            sd = str(dolares)
            sc = str(centavos)
            i = sd[::-1]
            x = i[3:6]
            y = i[0:3]
            xx = x[::-1]
            yy = y[::-1]
            if centavos < 10 and centavos != 0:
                centavos = centavos * 10
                sc = str(centavos)
                print('${},{}.{}'.format(xx, yy, sc[::-1]))
            elif centavos == 0:
                sc = str(centavos)
                print('${},{}.{}{}'.format(xx, yy, sc, sc))
            else:
                print('${},{}.{}'.format(xx, yy, sc))
        else:
            sd = str(dolares)
            sc = str(centavos)
            i = sd[::-1]
            x = i[0:3]
            y = i[3:6]
            z = i[6:9]
            xx = x[::-1]
            yy = y[::-1]
            zz = z[::-1]
            if centavos < 10 and centavos != 0:
                centavos = centavos * 10
                sc = str(centavos)
                print('${},{},{}.{}'.format(zz, yy, xx, sc[::-1]))
            elif centavos == 0:
                sc = str(centavos)
                print('${},{},{}.{}{}'.format(zz, yy, xx, sc, sc))
            else:
                print('${},{},{}.{}'.format(zz, yy, xx, sc))
    except EOFError:
        break

Remember not post solutions. Your post may be reviewed by our moderators.

  • Wellerson Salvatore replied 2 months ago

    já que você está usando python , uma dica é "ao inves de tratar como numero use como string, dessa forma fica bem mais facil e economiza muito tempo, sem falar que não da erro com a variavel"

  • Brendo_NAVAL_UEA replied 2 months ago

    Teu programa falha para valores acima de 1000000000 Lembra que essa entrada é válida, pois é menor que

    2*10^9

    Testei

    1677364296
    
    84

    Esperado

    $1,677,364,296.84

    Sua saída

    $677,364,296.84

    E caso você conserte, pode ser que tome time limit exceeded. Neste caso, refatore seu script.