파이썬 주민등록번호로 성별 판단하는 코드 분석
2025. 5. 28. 10:20ㆍPython
🧠 주민등록번호로 성별 판단하는 코드 분석
🚀 1️⃣ 질문 분석 – 핵심 키워드 정리
핵심 키워드 설명
| num | 성별을 나타내는 숫자를 담는 변수. '1', '2' 같은 문자에서 꺼내온 값 |
| int() | 문자열(예: '2')을 숫자(예: 2)로 바꿔주는 함수 |
| % | 나머지를 구하는 연산자 (예: 3 % 2는 1, 4 % 2는 0) |
| == | 양쪽이 같은지 비교하는 연산자. 결과는 True 또는 False |
✔ 2️⃣ 해결 방법 – 한 줄씩 코드 분석
def check_gender(pin):
num = pin.split('-')[1][:1] # ✅ 주민번호 뒷자리 첫 글자 추출 (예: '2')
if int(num) % 2 == 0: # ✅ 숫자로 변환 후 짝수인지 확인
print('여성') # ✅ 짝수면 여성
else:
print('남성') # ✅ 홀수면 남성
🔍 세부 설명
코드 의미
| pin.split('-') | '-' 기준으로 문자열 분할 → ['150101', '2012345'] |
| pin.split('-')[1] | 두 번째 항목 선택 → '2012345' |
| [:1] | 첫 번째 글자만 선택 → '2' |
| int(num) | 문자 '2'를 숫자 2로 변환 |
| % 2 == 0 | 2로 나눈 나머지가 0이면 짝수 → 여성 |
| else | 나머지가 1이면 홀수 → 남성 |
🔥 3️⃣ 실전 예시 – 실제 입력값 테스트
check_gender('150101-1012345') # '1' → 남성
check_gender('150101-2012345') # '2' → 여성
check_gender('150101-4012345') # '4' → 여성
입력값 뒷자리 첫 글자 숫자 변환 나머지 (% 2) 결과
| '150101-1012345' | '1' | 1 | 1 | 남성 |
| '150101-2012345' | '2' | 2 | 0 | 여성 |
| '150101-4012345' | '4' | 4 | 0 | 여성 |
💡 4️⃣ 개념 요약 – 문법별 설명
문법 설명 예시
| int() | 문자열을 정수로 바꿈 | int('2') → 2 |
| % | 나머지 계산 | 3 % 2 = 1, 4 % 2 = 0 |
| == | 값이 같은지 비교 | 2 == 2 → True |
| else | 조건이 아닐 때 실행 | 짝수가 아니면 → 남성 |
✅ 최종 코드 정리
def check_gender(pin):
num = pin.split('-')[1][:1]
if int(num) % 2 == 0:
print('여성')
else:
print('남성')
📌 이제 '2'라는 문자를 숫자로 바꾸려면 int()를 사용해야 한다는 이유,
% 연산으로 짝수/홀수를 구분하는 방식,
그리고 == 비교 연산의 의미까지 모두 이해했을 거예요!
궁금한 부분 더 있으면 언제든지 질문 주세요!
한 줄씩 코드 흐름을 따라가며 시각적으로 다시 설명해드릴게요.
'Python' 카테고리의 다른 글
| print() vs input() 차이 (2) | 2025.06.23 |
|---|---|
| 📌 [부동산 분석 2편] folium, geopandas로 지도 위에 인프라 시각화하기 (0) | 2025.06.18 |
| 파이썬 for (0) | 2025.05.28 |
| Python 조건문과 들여쓰기의 중요성 (0) | 2025.05.28 |
| 파이썬 딕셔너리(Dictionary) (1) | 2025.05.28 |