품생품사(品生品死)

소프트웨어 품질에 살고 품질에 죽는 그런 평범한 일상 블로그

TESTING/PROGREMING

[파이썬 코딩 - Chap.22] 실습 조금 생각하는 매출 계산 문제 풀어보기

품생품사(品生品死) 2020. 11. 29. 01:00
반응형

파이썬 예제 : 매출 계산하기

어느 한 치킨집의 매출을 계산하려합니다.

.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

 

코딩이 처음이라면, 코드잇

월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요

www.codeit.kr:443

This is coding_000
PYTHON 프로그래핑

요약 : sparta coding club, 스파르타 코딩, 코드잇, 노마드 코더, 프로그래밍, 직장인 코딩, 내일 배움 카드 코딩, 밀크티 코딩, 초등 코딩, 아이스크림 코딩, 코딩 소프트웨어, 파이썬 국비 지원, 파이썬 교육

728x90
반응형