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

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


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