Kiểm tra chuỗi chỉ chứa ký tự '0' và '1'. Gọi là chuỗi nhị phân. Nếu có ký tự khác (2,3...) thì không phải.
Dùng set
set chỉ lưu phần tử duy nhất. Tạo set từ chuỗi, so sánh với {'0','1'} hoặc {'0'} hoặc {'1'}.
Ví dụ
stringA = '0110101010111'
b = {'0', '1'}
t = set(stringA)
if b == t or t == {'0'} or t == {'1'}:
print("StringA là chuỗi nhị phân.")
else:
print("StringA KHÔNG phải chuỗi nhị phân.")
stringB = '0120101010111'
u = set(stringB)
if b == u or u == {'0'} or u == {'1'}:
print("StringB là chuỗi nhị phân.")
else:
print("StringB KHÔNG phải chuỗi nhị phân.")
Kết quả
StringA là chuỗi nhị phân. StringB KHÔNG phải chuỗi nhị phân.
Duyệt đơn giản
Khai báo chuỗi tham chiếu '10' hoặc '01', so sánh từng ký tự.
Ví dụ
stringA = "01100000001"
b = '10'
count = 0
for char in stringA:
if char not in b:
count = 1
break
print("StringA là chuỗi nhị phân" if count == 0 else "StringA KHÔNG phải chuỗi nhị phân")
stringB = "01200000001"
count = 0
for char in stringB:
if char not in b:
count = 1
break
print("StringB là chuỗi nhị phân" if count == 0 else "StringB KHÔNG phải chuỗi nhị phân")
Kết quả
StringA là chuỗi nhị phân StringB KHÔNG phải chuỗi nhị phân