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

Python에서 7개의 세그먼트로 표시되는 경우 숫자의 미러 이미지가 동일한지 확인

<시간/>

숫자 n이 있다고 가정합니다. 세븐세그먼트 디스플레이에 표시될 때 해당 숫자의 미러 이미지가 주어진 숫자와 동일한지 여부를 확인해야 합니다.

따라서 입력이 n =818과 같으면 출력은 True가 됩니다.

Python에서 7개의 세그먼트로 표시되는 경우 숫자의 미러 이미지가 동일한지 확인

미러 이미지는 동일합니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • num_str :=n을 문자열로
  • 범위 0에서 num_str - 1 크기의 i에 대해
    • num_str[i]가 ['0', '1', '8']이 아니면
      • 거짓을 반환
  • 왼쪽 :=0
  • 오른쪽 :=num_str의 크기 - 1
  • 왼쪽 <오른쪽, do
    • num_str[left]가 num_str[right]와 같지 않으면
      • 거짓을 반환
    • 왼쪽 :=왼쪽 + 1
    • 오른쪽 :=오른쪽 - 1
  • 참 반환

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def solve(n):
   num_str = str(n)
   for i in range(len(num_str)):
      if num_str[i] not in ['0', '1', '8']:
         return False
   left = 0
   right = len(num_str) - 1
   while left < right:
      if num_str[left] != num_str[right]:
         return False
      left += 1
      right -= 1
   return True
n = 818
print(solve(n))

입력

818

출력

True