如果满足某些条件,返回true或false的函数?

Jon*_*rte 1 python

因此用户将以二进制格式输入字符串值.即'01000001'

我想检查他们输入的值,看看是否:

  1. 只有八个字符.
  2. 是一种字符串类型
  3. 并且只包含'0'或'1'

优选地,使用接收用户值的函数来完成,以便我可以随时调用它.如果不满足条件,则返回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
Run Code Online (Sandbox Code Playgroud)

Roh*_*ain 8

你可以在这里使用正则表达式匹配:

reg = re.compile(r'^[01]{8}$')

def typecheck(value):
    return isinstance(value, str) and bool(reg.match(value))
Run Code Online (Sandbox Code Playgroud)

或者,因为您要检查二进制格式编号,如何将其转换为int基数2,并查看它是否是有效的转换:

def typecheck(value):
    try:
        return len(value) == 8 and bool(int(value, 2))
    except TypeError, ValueError:
        return False
Run Code Online (Sandbox Code Playgroud)