본문 바로가기
프로그램

[파이썬] 문제 : text의 학색 점수 읽어서 합계 및 평균 계산

by 오디세이99 2023. 12. 14.
728x90
반응형

grade.txt
0.00MB

f = open('grade.txt','r',encoding='UTF-8')   # 파일 열기
lines = f.readlines()                        # 라인 읽기 

lst = []                                     # 학생정보 저장할 리스트 선언
for line in lines:                          # 라인별로 읽음 반복
    tmp = line.replace("\n","").split(",")   # replace로 라인 끝에 '\n' 문자 제거. ','문자로 분리하여 리스트에 저장
    lst.append([tmp[0], tmp[1], int(tmp[2]), int(tmp[3])])   # 각각의 데이터를 lst에 저장. 점수는 정수로 변환 후 저장

pass_cnt = 0                                  # pass 수(합격자 수) 변수 선언 및 초기화
print('** 2023 해외봉사 결과 발표 **')
print('학    번    이  름    평 균    판 정')
print('========    ======    =====    ====')
for i in range(len(lst)):                     # 데이터 수(학생수) 만큼 반복
    d_sum = lst[i][2] + lst[i][3]             # 2개의 점수 더해서 합계 구함
    d_avg = d_sum / 2                         # 평균 구함
    d_pass = 'PASS' if d_avg >= 90 else ''   # 90점 이상이면 PASS 지정
    if d_pass == 'PASS':                      # PASS 면 카운트 + 1
        pass_cnt += 1
    print(f"{lst[i][0]}    {lst[i][1]}    {d_avg:>5.2f}    {d_pass}")   # 출력
print('='*36)
print(f"지원자 수:{len(lst)}명")
print(f"합격자 수:{pass_cnt}명")
print(f"불합격자 수:{len(lst) - pass_cnt}명")

728x90
반응형

댓글