[Python] 딕셔너리, .get()

공부한 내용 정리하는 공간입니다.

틀린 내용이 있을 수 있습니다.

모든 지적, 첨언 환영합니다.

오늘의 코드

1. 주문받기

2. 거스름돈 계산하기

menus = {"아메리카노":4000, "카페라떼":5000, "카페모카":6000}

print("=====메뉴=====")
for name, price in menus.items():
    print(f"{name}: {price}원")

selected_menu = input("주문할 메뉴를 입력하세요.")
money = int(input("돈을 넣으세요."))

price = menus.get(selected_menu,0)

if price==0:
    print("메뉴가 없습니다.")

else:
    change = money - price
    if change >= 0:
        print(f"{selected_menu} 구매. 거스름돈은 {change}원 입니다.")
    else:
        print("돈이 모자랍니다.")

 


딕셔너리

키와 값으로 이루어진 자료

중괄호({})로 묶고, 키: 값 형태로 사용

키 : 고유한 값, 딕셔너리 내에서 중복 불가능

값 : 키와 매칭되는 값, 중복 가능

 

code-1)

person = {"name": "John", "age": 30, "city": "New York"}
print(person["name"])

result-1)

interpretation-1)

person["name"] : 딕셔너리 person에서 키 "name"에 해당되는 값

 


.get()

딕셔너리에서 값을 안전하게 가져오는 메서드

키가 존재하지 않으면 오류를 발생시키지 않고 None 또는 기본값을 반환

예외를 방지하여 프로그램이 중단되지 않음

키가 존재하는지 확실하지 않을 때 유용하게 사용

딕셔너리.get(키, 기본값) 형태로 사용

 

code-2)

person = {"name": "John", "age": 30, "city": "New York"}
print(person.get("name",0))

result-2)

interpretation-2)

person.get("name",0) : 딕셔너리 person에서 키 "name"에 해당되는 값을 반환, 키 "name"이 없으면 0을 반환

 


오늘의 코드

1. 주문받기

2. 거스름돈 계산하기

menus = {"아메리카노":4000, "카페라떼":5000, "카페모카":6000}

print("=====메뉴=====")
for name, price in menus.items():
    print(f"{name}: {price}원")

selected_menu = input("주문할 메뉴를 입력하세요.")
money = int(input("돈을 넣으세요."))

price = menus.get(selected_menu,0)

if price==0:
    print("메뉴가 없습니다.")

else:
    change = money - price
    if change >= 0:
        print(f"{selected_menu} 구매. 거스름돈은 {change}원 입니다.")
    else:
        print("돈이 모자랍니다.")

오늘의 코드 결과

오늘의 코드 결과

1. 주문받기

selected_menu = input("주문할 메뉴를 입력하세요.")
money = int(input("돈을 넣으세요."))

사용자에게서 메뉴 이름을 입력받아서 selected_menu에 저장

사용자에게서 돈을 입력받아서 정수형으로 변환 후 money에 저장

price = menus.get(selected_menu,0)

리스트 menus의 키에 selected_menu가 있으면 해당 값을 price에 저장

없으면 price에 0 저장

if price==0:
	print("메뉴가 없습니다.")

price가 0과 같으면 "메뉴가 없습니다." 출력

사용자가 입력한 메뉴 이름이 판매하는 메뉴에 없음

2. 거스름돈 계산하기

else:
    change = money - price
    if change >= 0:
        print(f"{selected_menu} 구매. 거스름돈은 {change}원 입니다.")

price가 0이 아닐 때 실행

사용자가 입력한 메뉴 이름이 판매하는 메뉴에 있어서 주문이 진행됨

    >money=사용자가 입력한 돈

    >price=메뉴의 가격

    >change= 사용자가 입력한 돈- 메뉴의 가격=거스름돈

change가 0보다 크거나 같으면 print 내용 출력

    >selected_mene=사용자가 입력한 메뉴 이름

else:
	print("돈이 모자랍니다.")

change가 0보다 작으면 "돈이 모자랍니다." 출력