성적을 입력 받고 입력받은 성적의 합계와 평균을 출력하자. 입력을 종료할땐 '-1'이하를 입력하거나 101이상을 입력해라.
코드:
scores = []
while True:
score = int(input('성적입력(음수 또는 101이상 입력시 종료):'))
if score <= -1:
break
elif score > 100:
break
else:
scores.append(score)
sum = 0
for i in range(0,len(scores)):
sum += scores[i]
avg = sum/len(scores)
print('합계: %d, 평균: %.2f' % (sum, avg))
해석:
scores = []
while True :
score = int(input('성적 입력(종료 시 -1 입력): '))
if score <= -1:
break
elif score > 100:
break
else:
scores.append(score)
scores라는 리스트의 빈집을 만들고 score라는 변수에 input을 통해 성적을 입력 받는 조건을 반복한다. 만약 성적을 -1이하로 입력하거나 100초과로 입력하면 반복되는 입력 조건을 종료한다. 종료되지 않는한 반복적으로 입력되는 성적을 scores 리스트에 계속 추가한다.
sum = 0
for i in range(0, len(scores)) :
sum += scores[i]
sum = 0 로 초기값을 설정한다. 이로써 sum이라는 변수는 0부터 시작하여 더해진다. 어떻게 더해지나? 0부터 카운트를 시작하여 while 반복문에서 만들어진 scores 리스트에 포함된 index의 갯수만큼 더해준다. 이로써 sum은 입력된 점수들의 총 합이 된다.
avg = sum/len(scores)
avg라는 변수에 점수의 총 합인 sum을 scores 리스트에 저장된 index들의 갯수로 나누어 평균값을 지정한다.
print('합계 : %d, 평균 : %.2f' % (sum, avg))
합계와 평균값을 출력하되 합계는 digit형식으로, 평균값은 실수의 소숫점 둘째자리 까지 출력해라.