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?"