← 문제 목록
Python 문제 #8

연습 문제: 독서 기록 분석하기 (Python)

빈칸 10개 테스트 3개 제한 2.0초

문제 설명

연습 문제: 독서 기록 분석하기 (Python)

지민이는 일주일(7일) 동안 매일 읽은 책의 페이지 수를 기록했습니다.
읽은 책의 페이지 수를 입력받아 독서 습관을 분석하는 프로그램을 만들어봅시다.

프로그램 조건

  1. 독서 기록은 총 7일 동안 입력합니다.
  2. 읽은 페이지 수는 정수로 입력받습니다.
  3. 입력받은 기록은 리스트에 저장해야 합니다.
  4. 기록을 입력하고 분석할 때 for문을 사용해야 합니다.

구현 조건

다음 조건을 만족하는 프로그램을 만드세요.

  1. 7일 동안 읽은 페이지 수를 입력받아 pages 리스트에 저장하세요.
  2. 7일 동안 읽은 전체 페이지 수를 계산하세요.
  3. 하루 평균 읽은 페이지 수를 계산하세요.
  4. 하루에 50페이지 이상 읽은 날의 수를 계산하세요.
  5. 전날보다 더 많이 읽은 날의 수를 계산하세요.
  6. 가장 많이 읽은 페이지 수와 그 기록을 달성한 날짜를 찾으세요.
  7. 모든 결과를 출력하세요.

작성할 코드

아래 코드를 이용해서 프로그램을 작성하세요.
[가], [나], [다], [라], [마], [바], [사], [아], [자], [차]를 채워 코드를 완성하면 됩니다.

pages = []
for day in [가]:
    page = int(input(f"{day}일차에 읽은 페이지 수: "))
    [나]

total = 0
goal_days = 0
for page in pages:
    [다]
    if [라]:
        goal_days += 1

average = total / len(pages)

improved_days = 0
for i in range(1, len(pages)):
    if [마]:
        [바]

best_record = pages[0]
best_day = 1
for i in range(1, len(pages)):
    if [사]:
        best_record = pages[i]
        [아]

print("전체 페이지 수:", [자])
print("하루 평균 페이지 수:", average)
print("50페이지 이상 읽은 날의 수:", goal_days)
print("전날보다 더 많이 읽은 날의 수:", improved_days)
print("가장 많이 읽은 페이지 수:", best_record)
print("가장 많이 읽은 날짜:", [차], "일차")

실행 결과 (예시)

1일차에 읽은 페이지 수: 30
2일차에 읽은 페이지 수: 40
3일차에 읽은 페이지 수: 60
4일차에 읽은 페이지 수: 50
5일차에 읽은 페이지 수: 80
6일차에 읽은 페이지 수: 70
7일차에 읽은 페이지 수: 90
전체 페이지 수: 420
하루 평균 페이지 수: 60.0
50페이지 이상 읽은 날의 수: 5
전날보다 더 많이 읽은 날의 수: 4
가장 많이 읽은 페이지 수: 90
가장 많이 읽은 날짜: 7 일차

코드

표시된 빈칸에 들어갈 코드를 오른쪽 입력란에 작성하세요.

Python
pages = []

for day in [빈칸 1]:
    page = int(input())
    [빈칸 2]

total = 0
goal_days = 0

for page in pages:
    [빈칸 3]

    if [빈칸 4]:
        goal_days += 1

average = total / len(pages)

improved_days = 0

for i in range(1, len(pages)):
    if [빈칸 5]:
        [빈칸 6]

best_record = pages[0]
best_day = 1

for i in range(1, len(pages)):
    if [빈칸 7]:
        best_record = pages[i]
        [빈칸 8]

print([빈칸 9])
print(average)
print(goal_days)
print(improved_days)
print(best_record)
print([빈칸 10])