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개의 점수를 입력받아, 그 점수들의 합계, 평균, 최대값, 최소값을 계산하고 출력하는 프로그램입니다. 각 줄이 어떤 역할을 하는지 자세히 설명해 드릴게요.
코드 분석
hap=0
score=[0]*5
- hap=0: 입력받은 점수들의 합계를 저장할 변수 hap을 선언하고 초기값으로 0을 할당합니다.
- score=[0]*5: 5개의 점수를 저장할 리스트 score를 선언하고, 0으로 초기화된 5개의 공간을 만듭니다. score 리스트는 [0, 0, 0, 0, 0]과 같은 형태가 됩니다.
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 변수에 더하여 누적시키는 역할을 합니다.
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() 함수는 리스트 내의 최소값을 반환합니다.
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() 등을 사용하여 손쉽게 통계값을 계산하는 좋은 예시입니다.
'파이썬(Python)' 카테고리의 다른 글
| 파이썬, for 변수 in 딕셔너리 / 메뉴와 가격 정보 출력 (0) | 2025.09.06 |
|---|---|
| 파이썬에서 for 변수 in 딕셔너리 구문 (0) | 2025.09.06 |
| 파이썬에서 len() 함수는 다양한 객체의 길이나 항목 수를 구하는 데 사용되는 내장 함수입니다. (0) | 2025.09.05 |
| 파이썬, (리스트와 반복문,조건문) 합격,불합격 판단하기 소스 (0) | 2025.09.05 |
| 파이썬에서 pass 문은 아무런 동작도 하지 않는 빈 코드를 나타내는 제어문 (1) | 2025.08.31 |
콘텐츠 내 자동삽입광고
