Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - ตรวจสอบว่าสตริงที่กำหนดเป็น Binary String หรือไม่

ในบทความนี้ เราตรวจสอบว่าสตริงที่กำหนดมีตัวอักษรแค่ 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