콘텐츠 내 자동삽입광고

광고1

posted by 초코생크림빵 2025. 9. 6. 15:35
반응형

menu={}

menu['라면']=3000
menu['떡볶이']=4000
menu['김밥']=2000
menu['햄버거']=5000

for m in menu:
    print(f'{m}-{menu[m]}')

while True:
    s=input('search menu: ')

    if s=='q':
        break
    print(menu.get(s, 'Not Found'))
    
결과)
라면-3000
떡볶이-4000
김밥-2000
햄버거-5000
search menu: 라면
3000
search menu: 라라
Not Found
search menu: 김밥
2000
search menu: 햄버거
5000
search menu: 떡볶이
4000
search menu: q

파이썬 소스 및 결과값입니다. 소스 설명)

 

이 파이썬 코드는 메뉴 이름과 가격을 저장한 딕셔너리(dictionary)를 사용하여 메뉴를 검색하는 프로그램입니다.


소스 코드 설명

  1. 딕셔너리 생성 및 초기화menu['라면'] = 3000menu['김밥'] = 2000
    • menu = {}를 통해 빈 딕셔너리를 만듭니다. 딕셔너리는 '키(key)'와 '값(value)'의 쌍으로 데이터를 저장하는 자료구조입니다.
    • 각 줄은 메뉴 이름(키)과 가격(값)을 딕셔너리에 추가하는 역할을 합니다. 예를 들어, '라면'이라는 키에 3000이라는 값을 할당합니다.
  2. menu['햄버거'] = 5000
  3. menu['떡볶이'] = 4000
  4. menu = {}
  5. 메뉴 전체 출력print(f'{m}-{menu[m]}')
    • for m in menu:는 딕셔너리 menu의 모든 키(메뉴 이름)를 하나씩 가져와 m에 할당합니다.
    • print(f'{m}-{menu[m]}')는 f-string을 사용하여 '키-값' 형태의 문자열을 출력합니다. 예를 들어, 첫 번째 반복에서는 m이 '라면'이므로 menu[m]은 menu['라면']이 되어 3000이 출력됩니다.
  6. for m in menu:
  7. 메뉴 검색 루프s = input('search menu: ')break
    • while True:는 무한 루프를 시작하여 사용자가 직접 종료할 때까지 계속해서 입력을 받도록 합니다.
    • s = input('search menu: ')는 'search menu: '라는 메시지를 화면에 력하고 사용자 입력을 받아 변수 s에 저장합니다.
    • if s == 'q':는 사용자가 'q'를 입력했는지 확인하고, 맞으면 break 문을 실행하여 무한 루프를 종료합니다.
    • print(menu.get(s, 'Not Found'))가 가장 중요한 부분입니다. get() 메서드는 딕셔너리에서 특정 키를 찾아 그에 해당하는 값을 반환합니다.
      • menu.get(s, 'Not Found')는 s에 해당하는 키가 딕셔너리 menu에 있으면 그 값을 반환합니다.
      • 만약 키가 없으면, 두 번째 인자인 'Not Found'를 반환합니다. 이 덕분에 키가 없는 경우 에러가 발생하는 대신 'Not Found'라는 메시지를 출력할 수 있습니다.
  8. print(menu.get(s, 'Not Found'))
  9. if s == 'q':
  10. while True:

실행 결과 설명

  • 라면-3000 ... 햄버거-5000: for 루프를 통해 딕셔너리에 저장된 모든 메뉴와 가격이 순서대로 출력됩니다.
  • search menu: 라면 입력 후 3000 출력: 사용자가 '라면'을 입력했고, 딕셔너리에서 '라면'의 값인 3000을 get() 메서드가 찾아 출력합니다.
  • search menu: 라라 입력 후 Not Found 출력: 사용자가 '라라'를 입력했지만, 딕셔너리에 해당 키가 없으므로 get() 메서드의 기본값인 'Not Found'가 출력됩니다.
  • search menu: q 입력 후 종료: 사용자가 'q'를 입력하여 if s == 'q' 조건이 참이 되고, break 문이 실행되어 프로그램이 종료됩니다.
반응형

콘텐츠 내 자동삽입광고