ในบทความนี้ เราจะตรวจสอบว่าสตริงที่ระบุมีอักขระที่มีเพียง 1 หรือ 0 เท่านั้น เราเรียกสตริงดังกล่าวว่าสตริงไบนารี หากมีตัวเลขอื่น เช่น 2 หรือ 3 เป็นต้น เราจะจัดประเภทเป็นสตริงที่ไม่ใช่ไบนารี
พร้อมชุด
ตัวดำเนินการชุดใน python เก็บเฉพาะองค์ประกอบที่ไม่ซ้ำ ดังนั้นเราจึงใช้สตริงและใช้ฟังก์ชัน set กับมัน จากนั้นเราสร้างชุดอื่นที่มีเพียง 0 และ 1 เป็นองค์ประกอบ หากทั้งสองเซตเท่ากัน แสดงว่าสตริงนั้นเป็นเลขฐานสองอย่างแน่นอน นอกจากนี้ สตริงอาจมีเพียง 1 วินาทีหรือ 0 วินาทีเท่านั้น ดังนั้นเราจึงสร้าง a หรือ เงื่อนไข ซึ่งจะเปรียบเทียบผลลัพธ์ของตัวดำเนินการ set กับ 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.