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+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告