Python-检查给定的字符串是否为二进制字符串

在本文中,我们检查给定的字符串是否只有1或0个字符。我们称此类字符串为二进制字符串。如果它有其他数字,例如2或3等,我们将其分类为非二进制字符串。

带套

python中的set运算符仅存储唯一元素。因此,我们采用一个字符串并将set函数应用于该字符串。然后,我们创建另一个仅包含0和1作为其元素的集合。如果这两个集合相等,则字符串肯定是二进制的。此外,字符串可能只有1或只有0。因此,我们创建一个or条件,该条件也将只将set运算符的结果与0或仅与1进行比较。

示例

stringA = '0110101010111'
b = {'0','1'}
t = set(stringA)

if b == t or t == {'0'} or t == {'1'}:
print("StringA是一个二进制字符串。")
else:
print("StringA不是二进制字符串。")

stringB = '0120101010111'
u = set(stringB)

if b == u or u == {'0'} or u == {'1'}:
print("StringB是二进制字符串。")
else:
print("StringB不是二进制字符串。")

输出结果

运行上面的代码给我们以下结果-

StringA是一个二进制字符串。
StringB不是二进制字符串。

通过简单的迭代

我们可以首先声明一个值为01或10的字符串。然后将该字符串的字符与给定字符串的字符进行比较。如果

示例

stringA = "01100000001"

b = '10'
count = 0
for char in stringA:
   if char not in b:
      count = 1
      break
   else:
      pass
if count:
   print("StringA is not a binary string")
else:
   print("StringA is a binary string")

stringB = "01200000001"
for char in stringB:
   if char not in b:
      count = 1
      break
   else:
      pass
if count:
   print("StringB is not a binary string")
else:
   print("StringB is a binary string")

输出结果

运行上面的代码给我们以下结果-

StringA is a binary string
StringB is not a binary string