본문 바로가기
프로그래밍/독학(어려워요 같이해요)

주민등록번호 1950년 전과 후의 출력을 다르게 하는 코딩방법(파이썬)

by 노마드데이터랩 2020. 4. 26.
728x90
반응형

오늘은 주민등록번호에 대한 질문이 들어왔다. 오늘의 질문은 다음과 같다.

주민등록번호를 입력하면 1950년 이후는 실행결과가

주민등록번호 입력: 921123하면

1992년 11월 23일

이 나와야하고

주민등록번호를 입력하면 1949년 이전은 실행결과가

주민등록번호 입력: 021123

2002년 11월 23일

로 나와야 합니다. 1950년 전후로 출력결과가 다른데 어떻게 써야 하나요? 라는 질문이다.

질문하신 분은 다음과 같이 코딩을 했다.

def social_number(a):
    if (a>=50):
        return "19"+a[0:2]+"년 "+a[2:4]+"월 "+a[4:6]+"일"
    elif (a<50):
        return "20"+a[0:2]+"년 "+a[2:4]+"월 "+a[4:6]+"일"
no=input("주민등록번호 첫 6숫자 형식 입력:")
print(social_number(no))

어디가 틀린건가요??????????

한번 살펴보자. 우선 함수(Def)를 없애고 다시 작성을 해봤다.

우선 잘 안될때는 다시 풀어쓰는게 최고다.

우선 위에서 a라는 변수가 아마 문제가 되셨을 것 같다. a라는 변수를 리스트 자료형으로 활용을 했는데, 비교연산자는 int 처럼 사용해서 문제가 되었을 것이다.

작성한 코드이다.

921123을 입력했을 때의 결과이다.

021123을 입력했을 때의 결과이다.

원하는 출력 값이 나왔다. 오늘은 주민등록번호를 파이썬으로 코딩하는 법을 알아봤다. 자료형을 확인하고 코딩해보자. 당신의 하루를 응원한다.

728x90
반응형

댓글