ในบทความนี้ เราตรวจสอบว่าสตริงที่กำหนดมีตัวอักษรแค่ 1 หรือ 0 เท่านั้น เราเรียกสตริงแบบนี้ว่า binary string หากมีตัวเลขอื่น เช่น 2, 3 จะจัดว่า non-binary string
ใช้ set
เซต (set) ใน Python เก็บแค่ค่า unique เราเอาสตริงมาใช้ set() แล้วสร้าง set อีกตัวที่มีแค่ '0' และ '1' หากทั้งสอง set เท่ากัน สตริงนั้นแน่นอนเป็น binary อาจมีแค่ 1 หรือแค่ 0 ก็ได้ จึงเพิ่มเงื่อนไข or เปรียบเทียบกับ {'0'} หรือ {'1'}
ตัวอย่าง
stringA = '0110101010111'
b = {'0', '1'}
t = set(stringA)
if b == t or t == {'0'} or t == {'1'}:
print("StringA เป็น binary string.")
else:
print("StringA ไม่ใช่ binary string.")
stringB = '0120101010111'
u = set(stringB)
if b == u or u == {'0'} or u == {'1'}:
print("StringB เป็น binary string.")
else:
print("StringB ไม่ใช่ binary string.")
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้ −
StringA เป็น binary string. StringB ไม่ใช่ binary string.
ใช้การวนลูปง่ายๆ
ประกาศสตริง b = '10' แล้วเปรียบเทียบตัวอักษรของสตริงนี้กับสตริงที่กำหนด หากไม่มีตัวอักษรนอกเหนือจาก 0,1 คือ binary
ตัวอย่าง
stringA = "01100000001"
b = '10'
count = 0
for char in stringA:
if char not in b:
count = 1
break
else:
pass
if count:
print("StringA ไม่ใช่ binary string")
else:
print("StringA เป็น binary string")
stringB = "01200000001"
for char in stringB:
if char not in b:
count = 1
break
else:
pass
if count:
print("StringB ไม่ใช่ binary string")
else:
print("StringB เป็น binary string")
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้ −
StringA เป็น binary string StringB ไม่ใช่ binary string