Coding/초보자를 위한 파이썬 300제

초보자를 위한 파이썬 300제 // 128 if문

포스트it 2021. 1. 17. 23:16
728x90
반응형

 

문제

주민등록번호의 뒷 자리 7자리 중 두번째와 세번째는 지역코드를 의미한다. 주민 등록 번호를 입력 받은 후 출생지가 서울인지 아닌지 판단하는 코드를 작성하라

지역코드 출생지
00 ~ 08 서울
09 ~ 12 부산
>> 주민등록번호: 821010-1635210
서울이 아닙니다.

>> 주민등록번호: 861010-1015210
서울 입니다.

내풀이

i = input("주민등록번호를 입력해주세요 :")
if i[8] == "0":
    if i[9] in ("0", "1", "2", "3", "4", "5", "6", "7", "8"):
        print("서울 입니다.")
    else:
        print("서울이 아닙니다.")
else:
    print("서울이 아닙니다.")
    
결과값
주민등록번호를 입력해주세요 :895623-1066666
서울 입니다.

정답

주민번호 = input("주민등록번호: ")
뒷자리 = 주민번호.split("-")[1]
if 0 <= int(뒷자리[1:3]) <= 8:
    print("서울입니다.")
else:
    print("서울이 아닙니다.")

 

서울인지 아닌지만 판단하면 되기때문에 굳이 2번이나 비교 할필요 없었는데....
그리고 숫자를 다 표기가 아닌 저렇게 코드를 줄였어야 했는데
문제풀땐 생각이 안난다 ㅠㅠ

 

728x90
반응형