콘텐츠 내 자동삽입광고

광고1

posted by 초코생크림빵 2025. 9. 5. 17:00
반응형

hap=0
score=[0]*5

for i in range(len(score)):
    score[i]=int(input(f'{i+1}번째 점수: '))
    hap += score[i]

avg = hap/len(score)
max_score = max(score)
min_score = min(score)

print('='*20)
print(f'합  계 => {hap}')
print(f'평  균 => {avg:.2f}')
print(f'최대값 => {max_score}')
print(f'최소값 => {min_score}')
print(f'='*20)
print(f'^^')

결과)
1번째 점수: 86
2번째 점수: 47
3번째 점수: 97
4번째 점수: 58
5번째 점수: 76
====================
합  계 => 364
평  균 => 72.80
최대값 => 97
최소값 => 47
====================
^^

파이썬 소스 및 결과 입니다. 소스에 대해 자세히 설명해주세요.

 

이 코드는 사용자로부터 5개의 점수를 입력받아, 그 점수들의 합계, 평균, 최대값, 최소값을 계산하고 출력하는 프로그램입니다. 각 줄이 어떤 역할을 하는지 자세히 설명해 드릴게요.

코드 분석

Python
 
hap=0
score=[0]*5
  • hap=0: 입력받은 점수들의 합계를 저장할 변수 hap을 선언하고 초기값으로 0을 할당합니다.
  • score=[0]*5: 5개의 점수를 저장할 리스트 score를 선언하고, 0으로 초기화된 5개의 공간을 만듭니다. score 리스트는 [0, 0, 0, 0, 0]과 같은 형태가 됩니다.
Python
 
for i in range(len(score)):
    score[i]=int(input(f'{i+1}번째 점수: '))
    hap += score[i]
  • for i in range(len(score)): score 리스트의 길이(5)만큼 반복하는 반복문을 시작합니다. i는 0부터 4까지 1씩 증가합니다.
  • score[i]=int(input(f'{i+1}번째 점수: ')): 사용자로부터 점수를 입력받는 부분입니다. input() 함수는 사용자 입력을 문자열로 받기 때문에 int() 함수를 이용해 정수형으로 변환합니다. 변환된 점수는 score 리스트의 i번째 위치에 저장됩니다. f-string을 사용하여 {i+1}번째 점수: 와 같이 사용자에게 몇 번째 점수를 입력해야 하는지 친절하게 알려줍니다.
  • hap += score[i]: 입력받은 점수를 hap 변수에 더하여 누적시키는 역할을 합니다.
Python
 
avg = hap/len(score)
max_score = max(score)
min_score = min(score)
  • avg = hap/len(score): hap 변수에 저장된 총합을 score 리스트의 길이(5)로 나누어 평균을 계산합니다.
  • max_score = max(score): score 리스트에서 가장 큰 값을 찾아 max_score 변수에 저장합니다. max() 함수는 리스트 내의 최대값을 반환합니다.
  • min_score = min(score): score 리스트에서 가장 작은 값을 찾아 min_score 변수에 저장합니다. min() 함수는 리스트 내의 최소값을 반환합니다.
Python
 
print('='*20)
print(f'합  계 => {hap}')
print(f'평  균 => {avg:.2f}')
print(f'최대값 => {max_score}')
print(f'최소값 => {min_score}')
print(f'='*20)
print(f'^^')
  • print('='*20): print() 함수를 이용해 20개의 = 문자를 출력합니다. 시각적으로 결과를 구분하는 역할을 합니다.
  • print(f'합 계 => {hap}'): f-string을 사용하여 합계 결과를 출력합니다.
  • print(f'평 균 => {avg:.2f}'): 평균 결과를 출력합니다. 여기서 :.2f는 소수점 아래 둘째 자리까지 표시하도록 형식을 지정하는 것입니다.
  • 나머지 print() 구문들도 f-string을 사용하여 계산된 최대값, 최소값 등을 출력합니다.
  • 마지막으로 ^^을 출력하며 프로그램이 정상적으로 마무리되었음을 보여줍니다.

실행 결과 분석

제공해주신 결과는 위 코드가 실제로 실행되었을 때의 모습을 보여줍니다.

  • 1번째 점수: 86부터 5번째 점수: 76까지 사용자가 입력한 값들이 나타납니다.
  • 그 아래 =...로 구분된 영역에는 계산된 결과가 출력됩니다.
  • 합계(hap)는 86 + 47 + 97 + 58 + 76의 합인 364가 정확히 계산되었습니다.
  • 평균(avg)는 364를 5로 나눈 72.8이며, :.2f 형식 지정에 따라 72.80으로 소수점 두 자리까지 출력되었습니다.
  • 최대값(max_score)은 입력된 점수 중 가장 큰 값인 97이 올바르게 출력되었습니다.
  • 최소값(min_score)은 입력된 점수 중 가장 작은 값인 47이 올바르게 출력되었습니다.

이 코드는 리스트(List)와 반복문(for loop)을 활용하여 여러 데이터를 처리하고, 내장 함수 max(), min() 등을 사용하여 손쉽게 통계값을 계산하는 좋은 예시입니다.

반응형

콘텐츠 내 자동삽입광고