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

우편 주소 형식을 확인하는 Python 프로그램

<시간/>

유효한지 여부를 확인해야 하는 우편 번호가 있다고 가정합니다. 유효한 우편 번호에는 다음 기준이 있습니다.

  • 100000에서 999999 사이의 숫자여야 합니다(둘 다 포함).

  • 교대로 반복되는 숫자 쌍을 두 개 이상 포함할 수 없습니다.

따라서 입력이 s ="700035"와 같으면 100000 ~ 999999 범위에 있고 연속 숫자도 없으므로 출력은 True가 됩니다.

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

  • n :=s의 크기
  • nb :=0
  • 좋아요 :=맞습니다
  • 0 ~ n - 1 범위의 i에 대해
    • ok :=ok이고 s[i]는 숫자이면
    • 0에서 n-3 사이의 i에 대해 다음을 수행합니다.
      • nb :=nb + (s[i]가 s[i+2]와 같으면 1, 그렇지 않으면 0)
  • return(ok가 true이고 n이 6과 같고 s[0]이 '0'과 같지 않고 nb <2인 경우 true), 그렇지 않으면 false를 반환합니다.

예시

더 나은 이해를 위해 다음 구현을 살펴보겠습니다.

def solve(s):n =len(s) nb =0 ok =범위(n)의 i에 대해 True:ok =ok 및 범위(n-2)의 i에 대한 s[i].isdigit() :nb +=s[i] ==s[i+2] ok 및 n ==6 및 s[0] !='0' 및 nb <2s ="700035"print(solve(s)) 

입력

"700035"

출력

사실