728x90
반응형
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
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 프로세스, 쓰레드 리스트 (0) | 2023.12.16 |
---|---|
[파이썬] 문제 : mp3 정보 찾기 (0) | 2023.12.14 |
[파이썬] 문제 : 파일에서 특정 문자열이 있는 라인만 읽기 (0) | 2023.12.14 |
[파이썬] 문제 : TV 클래스 만들기 (0) | 2023.12.14 |
[파이썬] 문제 : tkinter-공 클래스를 만들어 움직이기 (0) | 2023.12.14 |
댓글