파이썬 예제 : 매출 계산하기
어느 한 치킨집의 매출을 계산하려합니다.
.txt 파일을 저장하여 해당 데이터를 불러와서 프로그램이 실행되도록 코딩해 보세요.
문제
밑에 나와 있는 chicken.txt 파일을 보세요.
제가 운영하는 치킨집 '코딩에빠진닭(이하 코빠닭)'의 12월 매출이 정리되어 있습니다.
1일: 453400
2일: 388600
3일: 485300
4일: 477900
5일: 432100
6일: 665300
7일: 592500
8일: 465200
9일: 413200
10일: 523000
11일: 488600
12일: 431500
13일: 682300
14일: 633700
15일: 482300
16일: 391400
17일: 512500
18일: 488900
19일: 434500
20일: 645200
21일: 599200
22일: 472400
23일: 469100
24일: 381400
25일: 425800
26일: 512900
27일: 723000
28일: 613600
29일: 416700
30일: 385600
31일: 472300
:의 왼쪽에는 해달 월의 며칠인지, 그리고 오른쪽에는 그 날의 매출이 적혀 있습니다.
data 폴더의 chicken.txt 파일을 읽어 들이고, strip과 split을 써서 12월 코빠닭의 하루 평균 매출을 출력하세요.
평균을 구하기 위해서는 총 매출을 총 일수로 나누면 됩니다.
참고로 현재 제공된 파일에는 31일이 있지만, 어떤 달은 31일이 아닐 수도 있습니다.
이 점을 고려해서 확장성 있는 코드를 작성해 주시길 바랍니다.
출력 예시
501916.12903225806
힌트
1. 우선 각 날의 매출을 출력하는 것부터 해 봅시다.
strip과 split을 적절히 활용하면 되겠죠?
for line in in_file:
data = line.strip().split(": ")
revenue = int(data[1]) # 그날의 매출
print(revenue)
2. 우리는 한 달 동안의 평균 일매출을 구하려고 하는데요.
이를 계산하기 위해서 한 달 동안의 총 매출과 한 달 동안의 총 일수를 알아야 합니다.
총 매출과 총 일수를 어떻게 구할 수 있을까요?
3. 총 매출을 누적으로 보관하는 변수 total_revenue를 만듭시다.
마찬가지로 총 일수를 누적으로 보관하는 변수 total_days도 만들겠습니다.
total_revenue = 0
total_days = 0
이제 for 반복문의 수행 부분에 들어갈 때마다, 두 값을 업데이트해야겠죠?
그리고 반복문이 끝나고 나서 print(total_revenue / total_days)를 하면 평균 일매출을 출력할 수 있습니다.
정답
with open('data/chicken.txt', 'r') as f:
total_revenue = 0
total_days = 0
for line in f:
data = line.strip().split(": ")
revenue = int(data[1]) # 그날의 매출
total_revenue += revenue
total_days += 1
print(total_revenue / total_days)
해설
파일 열기
파일 여는 건 아래와 같습니다.
with open('data/chicken.txt', 'r') as f:
일별 매출 출력
우선 각 날의 매출을 출력하는 것부터 해 봅시다.
strip과 split을 적절히 활용하면 되겠죠?
for line in f:
data = line.strip().split(": ")
revenue = int(data[1]) # 그날의 매출
print(revenue)
평균 일매출을 구하려면?
우리는 한 달 동안의 평균 일매출을 구하려고 하는데요.
이를 계산하기 위해서 한 달 동안의 총 매출과 한 달 동안의 총 일수를 알아야 합니다.
총 매출과 총 일수를 어떻게 구할 수 있을까요?
총 매출을 누적으로 보관하는 변수 total_revenue를 만듭시다.
마찬가지로 총 일수를 누적으로 보관하는 변수 total_days도 만들겠습니다.
total_revenue = 0 total_days = 0
이제 for 반복문의 수행 부분에 들어갈 때마다,
두 값을 업데이트해야겠죠?
그리고 반복문이 끝나고 나서 print(total_revenue / total_days)를 하면 평균 일매출을 출력할 수 있습니다.
Related References
요약 : sparta coding club, 스파르타 코딩, 코드잇, 노마드 코더, 프로그래밍, 직장인 코딩, 내일 배움 카드 코딩, 밀크티 코딩, 초등 코딩, 아이스크림 코딩, 코딩 소프트웨어, 파이썬 국비 지원, 파이썬 교육
'TESTING > PROGREMING' 카테고리의 다른 글
[파이썬 코딩 - Chap.24] 실습 조금 생각하는 단어 퀴즈 문제 풀어보기 (0) | 2020.11.29 |
---|---|
[파이썬 코딩 - Chap.23] 실습 조금 생각하는 단어장 만들기 문제 풀어보기 (0) | 2020.11.29 |
[파이썬 코딩 - Chap.21] 실습 조금 생각하는 숫자 맞히기 게임 문제 풀어보기 (0) | 2020.11.27 |
[파이썬 코딩 - Chap.20] 실습 조금 생각하는 주민등록번호 가리기 문제 풀어보기 (0) | 2020.11.26 |
[파이썬 코딩 - Chap.19] 실습 조금 생각하는 투표 집계 문제 풀어보기 (0) | 2020.11.25 |