본문 바로가기
Coding/초보자를 위한 파이썬 300제

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

by 포스트it 2021. 1. 17.
728x90
반응형

 

문제

휴대폰 번호 앞자리에 따라 통신사는 아래와 같이 구분된다. 사용자로부터 휴대전화 번호를 입력 받고, 통신사를 출력하는 프로그램을 작성하라.

번호 통신사
011 SKT
016 KT
019 LGU
010 알수없음
>> 휴대전화 번호 입력: 011-345-1922
당신은 SKT 사용자입니다.

내풀이

num = {"SKT":"011" , "KT":"016", "LGU":"019", "알수없음":"010"}
i = input("휴대전화 번호 입력: ").split("-")[0]
if i == num['SKT']:
    print("당신은 SKT 사용자입니다.")
elif i == num["KT"]:
    print("당신은 KT 사용자입니다.")
elif i == num["LGU"]:
    print("당신은 LGU 사용자입니다.")
else:
    print("당신은 알수없는 사용자입니다.")
    
결과값
휴대전화 번호 입력: 016-1234-5678
당신은 KT 사용자입니다.

정답

number = input("휴대전화 번호 입력: ")
num = number.split("-")[0]
if num == "011":
    com = "SKT"
elif num == "016":
    com = "KT"
elif num == "019":
    com = "LGU"
else:
    com = "알수없음"
print(f"당신은 {com} 사용자입니다.")

 

포멧팅을 해서 중복을 줄였어야 했는데... 지저분한 코드가 되어버렸다 ㅠㅠ

 

728x90
반응형

댓글