티스토리 뷰

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을 추가해주면 잘 출력되는 모습도 볼 수 있습니다. (아래)

생각보다 싸네?

 


 

오늘의 느낌

오랜만에 버즈의 은인을 들었는데 같이 따라 부르다가 눈물 날 뻔... 킄 그립구먼

'Python' 카테고리의 다른 글

[Python] Delete a Key  (0) 2022.02.12
[Python] Safely Get a Key  (0) 2022.02.12
[Python] Dict Comprehensions  (0) 2022.02.11
[Python] Add A Key  (0) 2022.02.11
[Python] Invalid Keys  (0) 2022.02.11
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함