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


在这篇文章中,我们检查给定的字符串是否只包含字符 1 或 0。我们将此类字符串称为二进制字符串。如果它包含任何其他数字,例如 2 或 3 等,我们将其归类为非二进制字符串。

使用集合

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

示例

 在线演示

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

if b == t or t == {'0'} or t == {'1'}:
print("StringA is a binary string.")
else:
print("StringA is not a binary string.")

stringB = '0120101010111'
u = set(stringB)

if b == u or u == {'0'} or u == {'1'}:
print("StringB is a binary string.")
else:
print("StringB is not a binary string.")

输出

运行以上代码,我们得到以下结果:

StringA is a binary string.
StringB is not a binary string.

使用简单迭代

我们可以首先声明一个值为 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

更新于: 2020年7月10日

6K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告