Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - 주어진 문자열이 이진 문자열인지 확인

<시간/>

이 기사에서는 주어진 문자열에 1 또는 0만 있는 문자가 있는지 확인합니다. 이러한 문자열을 이진 문자열이라고 합니다. 2 또는 3 등과 같은 다른 숫자가 있는 경우 이진이 아닌 문자열로 분류합니다.

세트 포함

파이썬의 집합 연산자는 고유한 요소만 저장합니다. 그래서 우리는 문자열을 가져와서 그것에 set 함수를 적용합니다. 그런 다음 요소로 0과 1만 있는 또 다른 집합을 만듭니다. 이 두 세트가 모두 같으면 문자열은 확실히 바이너리입니다. 또한 문자열은 1 또는 0만 가질 수 있습니다. 따라서 집합 연산자의 결과를 0 또는 1과만 비교하는 or 조건을 만듭니다.

예시

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