HiveBrain v1.2.0
Get Started
← Back to all entries
patternpythonMinor

Python Reverse the binary equivalent of input and output the integer equivalent of the reverse binary

Submitted by: @import:stackexchange-codereview··
0
Viewed 0 times
theequivalentreverseoutputinputbinarypythonandinteger

Problem

Am supposed to capture user input as an integer, convert to a binary, reverse the binary equivalent and convert it to an integer.Am getting the right output but someone says the solution is wrong. Where is the problem?

x  = 0

while True:

    try:
        x = int(raw_input('input a decimal number \t'))

        if x in xrange(1,1000000001):

            y = bin(x)

            rev = y[2:]

        print("the reverse binary soln for the above is %d") %(int('0b'+rev[::-1],2))       
            break

    except ValueError:
        print("Please input an integer, that's not an integer")
        continue

Solution

x  = 0


There is no point in doing this. You just replace it anyways

while True:

    try:
        x = int(raw_input('input a decimal number \t'))

        if x in xrange(1,1000000001):


Probably better to use if 1 <= x <= 100000000001: although I'm really not sure why you are doing this check. Also, you should probably explain to the user that you've reject the number.

y = bin(x)

            rev = y[2:]


I'd use reversed = bin(x)[:1::-1] rather then splitting it out across the tree lines.

print("the reverse binary soln for the above is %d") %(int('0b'+rev[::-1],2))


I'd convert the number before the print to seperate output from the actual math.

break

    except ValueError:
        print("Please input an integer, that's not an integer")
        continue


This continue does nothing.

Code Snippets

while True:

    try:
        x = int(raw_input('input a decimal number \t'))


        if x in xrange(1,1000000001):
y = bin(x)

            rev = y[2:]
print("the reverse binary soln for the above is %d") %(int('0b'+rev[::-1],2))
break

    except ValueError:
        print("Please input an integer, that's not an integer")
        continue

Context

StackExchange Code Review Q#20965, answer score: 5

Revisions (0)

No revisions yet.