Computer >> Máy Tính >  >> Lập trình >> Python

Python - Kiểm tra xem một chuỗi đã cho có phải là chuỗi nhị phân hay không

Trong bài viết này, chúng tôi kiểm tra xem một chuỗi đã cho có các ký tự chỉ là 1 hoặc 0. Chúng tôi gọi các chuỗi đó là chuỗi nhị phân. Nếu nó có bất kỳ chữ số nào khác như 2 hoặc 3, v.v., chúng tôi phân loại nó là một chuỗi không phải nhị phân.

Với bộ

Toán tử set trong python chỉ lưu trữ các phần tử duy nhất. Vì vậy, chúng tôi lấy một chuỗi và áp dụng hàm set cho nó. Sau đó, chúng tôi tạo một tập hợp khác chỉ có 0 và 1 làm phần tử của nó. Nếu cả hai tập hợp này bằng nhau thì chuỗi chắc chắn là nhị phân. Ngoài ra, chuỗi có thể chỉ có 1 hoặc chỉ 0. Vì vậy, chúng tôi tạo một hoặc điều kiện cũng sẽ so sánh kết quả của toán tử tập hợp chỉ với 0 hoặc chỉ với 1.

Ví dụ

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.")

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Với phép lặp đơn giản

Đầu tiên chúng ta có thể khai báo một chuỗi có giá trị là 01 hoặc 10. Sau đó so sánh các ký tự của chuỗi này với các ký tự của chuỗi đã cho. Nếu

Ví dụ

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")

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

StringA is a binary string
StringB is not a binary string