더북(TheBook)

9.3.1 총 지출액 구하기

앞 절에서 읽어 들인 데이터를 활용해 3개월간 카드를 얼마나 사용했는지 총 지출액을 구해 보겠습니다. 코드를 작성하기 전에 어떻게 프로그래밍할지 생각해 봅시다. 총 지출액은 이용금액을 모두 더하면 될 것 같군요. 나중에 활용할 수 있게 총 지출액을 변수에 저장하면 좋겠죠? 총 지출액을 저장하는 변수이므로 spend로 합시다. spend 변수에 각 행의 이용금액을 더합니다. 이때 파일에서 읽어온 이용금액은 문자로 인식하므로 앞에서 설명했듯이 연산할 수 있는 정수형으로 변환해서 더해야 합니다.

spend = int(data[0][-3]) + int(data[1][-3]) + int(data[2][-3]) + …

그런데 이용금액이 236개이므로 이를 일일이 더하려면 매우 힘듭니다. 이럴 때 반복문을 사용하면 쉽게 더할 수 있습니다. 반복되는 부분이 보이나요? int(data[n][-3]) 형태가 계속해서 spend에 더해집니다. 이 부분이 반복문 내부에 들어가야 합니다. 여기서 data[n]은 이차원 리스트의 행을 나타내므로, 이차원 리스트 data의 첫 행부터 마지막 행까지 차례대로 반복되는 반복문이어야 합니다.

그리고 5장에서 반복문으로 숫자 합을 구할 때(5.1.3 반복문으로 간단한 프로그램 만들기 참고) 계산에 사용되는 변수에는 초깃값을 넣어 줘야 한다고 했습니다. 따라서 반복문이 시작되기 전에는 변수 spend를 만들면서 초깃값 0을 저장합니다. 이제 반복문으로 전체 카드 이용내역이 담긴 이차원 리스트 data의 처음부터 마지막까지 각 행을 row에 저장하고 건별 이용금액을 spend에 더합니다. 프로그램의 흐름을 정리해 봅시다.

<프로그램 흐름>

1. 총 지출액을 저장할 변수(spend)를 만들고 초깃값 0 저장하기

2. 전체 이용내역(data)의 처음부터 마지막까지 반복하기

2.1 이용금액(data[n][-3])만 골라 정수형으로 변환한 후 총 지출액(spend)에 더하기

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.