Captain's Log
← Observatory
Observatory·

딕셔너리와 흐름 제어 — 조건문·반복문 실전

딕셔너리에 if·for를 결합해 '이름을 입력하면 가격을 알려주는' 실전 로직을 만들며, 자료구조와 흐름 제어가 만나는 지점을 연습한 기록.

TrainingPythonFundamentals

자료구조에 논리를 얹다

기본 딕셔너리를 넘어, 이번엔 조건문·반복문과 결합하는 문제들을 풀었다. 자료구조는 데이터를 담는 그릇일 뿐이고, 그 그릇을 쓸모 있게 만드는 건 결국 흐름 제어라는 걸 체감했다.

딕셔너리와 if의 만남

가게 물품을 {이름: 가격} 으로 저장해두고, 사용자가 입력한 이름의 가격을 알려주는 로직. 없는 물건을 입력하면 실행을 중단하도록 조건을 걸었다.

store = {"사과": 1000, "바나나": 1500}
name = input("물건 이름: ")
if name in store:
    print(f"{name}의 가격은 {store[name]}원입니다.")
else:
    print("판매하지 않는 물건입니다.")

in 연산자로 키 존재 여부를 먼저 확인하는 습관이 중요했다.

중첩 구조 다루기

  • 딕셔너리 값으로 리스트를 넣어 물품 목록을 확장
  • 딕셔너리 값으로 또 다른 딕셔너리를 넣어 학생별 과목·점수 표를 표현
  • for key, value in dict.items(): 로 중첩 구조를 순회하며 원하는 값만 뽑아내기

정리

같은 문제라도 1안·2안·정답을 각각 써보며 "더 짧게, 더 읽기 좋게" 다듬는 연습을 했다. 딕셔너리 + 반복문 + 조건문의 조합은 이후 API 응답(JSON)을 파싱하고 필터링하는 데이터 수집 코드로 그대로 이어졌다.