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
广告