Python
[Python] Get A Key
Dongi
2022. 2. 11. 13:38
안녕하세요 동기 여러분!
오늘은 Key를 구하는 과정에서 생기는 여러 난관을 뚫어봅시다.
Value 구하기
오늘은 버거킹의 메뉴로 사전을 만들어 봤습니다.
burger_king_menu = {"와퍼": 6400, "불고기와퍼": 6400, "치즈와퍼": 7000, "베이컨치즈와퍼": 8200}
위의 버커킹 딕셔너리에서 "와퍼"와 "불고기와퍼"의 가격을 알고 싶다면 아래와 같은 방법으로 가격(value)을 구할 수 있습니다.
print(burger_king_menu["와퍼"])
print(burger_king_menu["불고기와퍼"])
# 출력값:
# 6400
# 6400
맥도날드 빅맥의 가격을 찾는다면?
어허... 맥도날드 빅맥을 찾으니까 KeyError: '빅맥'이라고 뜨네요! 그런데 문제는 이렇게 되면 프로그램이 에러 때문에 멈춰 버린다는 것이죠! 그래서 if문을 이용하여 에러를 피해 가는 방법이 있습니다.
에러 피해가기
menu_check = "빅맥"
if menu_check in burger_king_menu:
print(burger_king_menu["빅맥"])
else:
print("고객님! 빅맥대신 와퍼는 어떠세요?")
- menu_check라는 변수를 만들어서 "빅맥"을 선언합니다.
- 만약 menu_check가 buger_king_menu에 있다면 :
- buger_king_menu의 "빅맥"의 값(value)을 출력하고
- 아니라면:
- "고객님! 빅맥대신 와퍼는 어떠세요?" 출력하기
하지만! If문 대신에 Try/Except문을 써볼 수도 있습니다.
menu_check = "빅맥"
try:
print(burger_king_menu["빅맥"])
except KeyError:
print("고객님! 그냥 맥도날드 가세요!")
- menu_check라는 변수를 만들어서 "빅맥"을 선언합니다.
- burger_king_menu["빅맥"]을 출력해보는데 (해보는 시도 = try)
- 안되면 KeyError 띄우지 말고 (띄우지 말고 = 제외하고 = except - 이거 해석하려면 조금 억지스러움)
- "고객님! 그냥 맥도날드 가세요!"라고 출력하기
그리고 버거킹 메뉴에 "빅맥" : 4600을 추가해주면 잘 출력되는 모습도 볼 수 있습니다. (아래)
오늘의 느낌
오랜만에 버즈의 은인을 들었는데 같이 따라 부르다가 눈물 날 뻔... 킄 그립구먼