이 기사에서는 주어진 문자열에 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