在python中如何判断字符串中是否正好有8个1和0

2024-10-01 02:30:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想返回一个布尔值TrueFalse,这取决于字符串是否只包含1和0

字符串必须由8个1或0组成,而不是其他。你知道吗

如果只包含1或0,则返回True,否则返回False。你知道吗

def isItBinary(aString):
    if aString == 1 or 0:
        return True
    else:
        return False

这是我到目前为止,但我只是不知道如何比较这两个数字,以及看看它是否有一个8 1和0的长度


Tags: or字符串falsetruereturnifdef数字
3条回答

你可以在这里使用set。示例-

def isItBinary(aString):
    seta = set(aString)
    if seta.issubset('10') and len(aString) == 8:
        reutrn True
    return False
len(aString) == 8 and set(aString) <= {"0", "1"}

运算符<=在这里表示“是”的子集。你知道吗

您可以使用all来检查长度,确保它正好是8。你知道吗

all(c in '10' for c in aString) and len(aString) == 8

示例:

aString = '11110000'
all(c in '10' for c in aString) and len(aString) == 8
>>> True

与其他方法相比,这样做的主要好处是,如果它发现除0或1以外的任何值,它将短路。你知道吗

相关问题 更多 >