ในบทความนี้ เราจะตรวจสอบว่าสตริงที่ระบุมีอักขระที่มีเพียง 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.