문제 : 입력받은 주민등록번호를 유효한 주민등록번호인지 검사하고
생년월일과 성별을 출력하는 프로그램을 작성하라.
문제가 주어졌으면 문제를 이해하는 것이 가장 중요하다
다행히 이문제는 한 번만 읽어도 이해할 수 있을 정도로
어려운 말이 들어가지 않았다
<<문제 푸는 순서>>
1. 주민등록번호 입력받기
2. 주민등록번호 문자열 검사하기
3. 결과값 출력

1. 주민등록번호 입력받기
rrn = input("주민등록번호를 입력하세요: ")
rrn은 주민등록번호 영어인
Resident Registration Number에서 따왔다
2. 주민등록번호 문자열 검사하기
if len(rrn) != 13 or not rrn.isdigit():
print("유효하지 않은 주민등록번호입니다.")
주민등록번호는 13자리로 구성되어 있으므로
13자리로 입력하지 않으면 유효하지 않는 주민등록번호라고
출력되도록 코드를 작성
(0000000000000 이런 식으로 입력해도
13자리로만 입력하면 출력됨)
3. 결과값 출력
else:
birthdate = f"{rrn[:2]}-{rrn[2:4]}-{rrn[4:6]}"
인덱싱을 이용해서 주민등록번호 앞번호인 생년월일 출력
birthgate (생년월일)
rrn[:2] -> 1,2번째 자리
rrn[2:4] -> 3,4번째 자리
rrn[4:6] -> 5 ,6번째 자리
century = "19" if int(rrn[6]) < 3 else "20"
주민등록번호 7번째 숫자를 확인해서
1900년대생인지 2000년대생인지 확인
century (세기)
7번째 숫자가 3보다 작다면 1900년대생
그렇지 않다면 2000년대생
gender = "여성" if int(rrn[6]) % 2 == 0 else "남성"
마찬가지로 주민등록번호 7번째 숫자를 확인해서
성별을 구별
2로 나눴을 때 나누어 떨어지면 여자
그렇지 않다면 남자
<<전체 코드>>
<<출력 결과>>
2307191234567 입력 시

'파이썬 공부' 카테고리의 다른 글
파이썬을 이용해서 그리디 문제 풀기 (0) | 2023.07.24 |
---|---|
간단한 계산기 만들기 (0) | 2023.07.07 |
파이썬 설치하기 (0) | 2023.07.06 |