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