因此用户将输入二进制格式的字符串值。即 '01000001'
我想检查他们输入的值是否:
- has only eight characters.
- is a string type
- and only contains '0's or '1's
最好用一个接受用户值的函数来完成,这样我就可以随时调用它。如果不满足条件,则返回 false。
这就是我到目前为止想出的...
size = len(teststring)
teststring = '11111111'
def typecheck(value):
if type(user_input) == type(teststring) and len(user_input) == size and contains only 1 | 0
return
请您参考如下方法:
你可以在这里使用正则表达式匹配:
reg = re.compile(r'^[01]{8}$')
def typecheck(value):
return isinstance(value, str) and bool(reg.match(value))
或者既然你想检查二进制格式的数字,如何将它转换为基数为 2 的 int,看看它是否是一个有效的转换:
def typecheck(value):
try:
return len(value) == 8 and bool(int(value, 2))
except TypeError, ValueError:
return False
