在本文中,我们检查给定的字符串是否只有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