Search code examples
pythonpython-2.x

python-How to reverse an negative integer or non-integer


I am learning python and I meet some troubles.

I want to write the script to reverse a negative integer " -1234 to 4321- " and non-integer " 1.234 to 432.1". please help me. P.S. cannot use "str()" function

I just only can write the script to reverse positive integer 1234 to 4321

def reverse_int(n):

    x = 0
    while n > 0:
        x *= 10
        x += n % 10
        n /= 10
    return x
print reverse_int(1234)

Solution

  • how about using your code, but just concatenate a - when n is negative?

    rev_int.py:

    def reverse_int(m):
        x = 0
        n = m
        if m < 0 :
          n *= -1
        while n > 0 :
            x *= 10
            x += n % 10
            n /= 10
        if m < 0:
          #concatenate a - sign at the end
          return `x` + "-"
        return x
    
    print reverse_int(1234)
    print reverse_int(-1234)
    

    This produces:

    $ python rev_int.py
    4321
    4321-