본문 바로가기
도서로 공부하는 프로그래밍/코딩 자율학습

[파이썬] 중첩된 자료구조

by 열공노년 2024. 2. 25.
반응형

중첩된 자료구조

아래의 스크린숏에 나온 파이썬 코드는 일일 식단의 영양소를 계산하는 프로그램입니다. 코드의 흐름을 이해하기 위해, 코드의 실행 순서를 단계별로 설명하겠습니다.

caption: 중첩된 자료구조

 

코드의 흐름

  1. daily_meals라는 사전(dictionary) 객체를 생성합니다. 이 사전에는 각 식사의 이름을 키(key)로, 해당 식사에 포함된 영양소 정보를 또 다른 사전으로 저장하고 있습니다. 이 내부 사전에는 '단백질', '탄수화물', '지방'의 양이 각각 저장되어 있습니다.
  2. calories라는 또 다른 사전 객체를 생성합니다. 이 사전은 각 영양소가 1그램 당 몇 칼로리인지를 저장하고 있습니다. 여기서는 '단백질'과 '탄수화물'이 각각 4칼로리, '지방'이 9칼로리로 설정되어 있습니다.
  3. 일일 단백질, 탄수화물, 지방의 섭취량과 총칼로리를 저장할 변수를 0으로 초기화합니다.
  4. daily_meals에 저장된 각 식사에 대해서 반복문을 실행합니다. 이 반복문은 daily_meals의 값들에 접근하여 각 식사의 영양 정보를 추출합니다.
  5. 각 식사의 영양 정보 사전에 대해서 또 다른 반복문을 실행합니다. 이 반복문은 각 영양소와 그 양을 추출합니다.
  6. 추출한 영양소의 이름을 확인하여, 해당하는 영양소의 일일 총섭취량을 갱신합니다. 또한, calories 사전을 사용하여 그 영양소의 칼로리 값을 찾고, 해당 영양소의 그램 수에 곱하여 일일 총칼로리에 더합니다.
  7. 모든 식사에 대한 반복문이 종료된 후, 콘솔에 일일 단백질, 탄수화물, 지방 섭취량과 총 칼로리를 출력합니다.

코드는 각 식사의 영양소 섭취량을 합산하여 일일 영양소 섭취량과 총 칼로리 섭취량을 계산하는 방식으로 작동합니다. 이 프로그램은 식단 관리, 영양 분석, 건강 관리 등에 유용하게 사용될 수 있습니다.

반응형