Skip to content Skip to sidebar Skip to footer

How Do I Check If Input Is A Number In Python?

I have a Python script which converts a decimal number into a binary one and this obviously uses their input. I would like to have the script validate that the input is a number an

Solution 1:

If the int() call succeeded, decimal is already a number. You can only call .isdigit() (the correct name) on a string:

decimal = input()
ifdecimal.isdigit():
    decimal = int(decimal)

The alternative is to use exception handling; if a ValueError is thrown, the input was not a number:

whileTrue:
    print("Type a decimal number you wish to convert:")
    try:
        decimal = int(input())
    except ValueError:
        print("Please enter a number.")
        continue

    binary = bin(decimal)[2:]

Instead of using the bin() function and removing the starting 0b, you could also use the format() function, using the 'b' format, to format an integer as a binary string, without the leading text:

>>> format(10, 'b')
'1010'

The format() function makes it easy to add leading zeros:

>>> format(10, '08b')
'00001010'

Post a Comment for "How Do I Check If Input Is A Number In Python?"