Если вам определенно необходимо убедиться, что это ровно 8, 0
или 1
с, то, вероятно, проще всего сделать:
import re
binaryNumber = input("Please enter an 8-bit binary number: ")
if not re.match('[01]{8}$', binaryNumber):
print('You did not enter exactly 8 zeros or ones.')
else:
print('Your number as decimal is:', int(binaryNumber, 2))
В противном случае, если вам все равно, является ли оно ровно 8 битами, но может быть меньше или больше, и просто хотите показать его в виде десятичной дроби, тогда вы можете сделать:
try:
print('Your number as decimal is:', int(binaryNumber, 2))
except ValueError: # couldn't be interpreted as binary
print('Your number was not a valid binary string')