문제번호 25206번 너의 평점은
20줄에 걸쳐 전공과목명 학점 등급이 입력된다. 전공평점을 출력해야 한다.
답안 :
1 import sys
2 total_credit = 0
3 GP = 0
4 for _ in range(20) :
5 name, credit, mp = sys.stdin.readline().split()
6 total_credit += float(credit)
7 if mp == 'A+' :
8 GP += 4.5 * float(credit)
9 elif mp == 'A0' :
10 GP += 4.0 * float(credit)
11 elif mp == 'B+' :
12 GP += 3.5 * float(credit)
13 elif mp == 'B0' :
14 GP += 3.0 * float(credit)
15 elif mp == 'C+' :
16 GP += 2.5 * float(credit)
17 elif mp == 'C0' :
18 GP += 2.0 * float(credit)
19 elif mp == 'D+' :
20 GP += 1.5 * float(credit)
21 elif mp == 'D0' :
22 GP += 1.0 * float(credit)
23 elif mp == 'F' :
24 GP += 0.0 * float(credit)
25 elif mp == 'P' :
26 total_credit -= float(credit)
27 print(GP/total_credit)
comment :
# 표준입력을 받기 위해서 sys모듈을 가져오고, 전체평점에서 학점을 곱한 값에서 학점의 총합을 나누어 주기 위한 변수 두 개를 설정해준다.
# 20번 반복하는 반복문과, 세 종류에 대한 입력값을 받아주고, 각각의 과목에 대한 평점으로 기준을 나누어 전체평점 x 학점을 해준다.
# 만약에 pass과목이 있으면 학점을 제외시킨다.
# GPA를 구하는 출력문을 작성하였다.
----------------------------------------------------------
단계별로 풀어보기 7 - 2차원 배열(1)
----------------------------------------------------------
문제번호 2738번 행렬 덧셈
첫째 줄에 행렬의 크기 N M이 입력된다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 입력된다. 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력해야 한다.
답안 :
1 import sys
2 A = []
3 B = []
4 N, M = map(int,input().split())
5 for i in range(N) :
6 A.append(list(map(int, sys.stdin.readline().split())))
7 for j in range(N) :
8 B.append(list(map(int, sys.stdin.readline().split())))
9 C = [[A[i][j] + B[i][j] for j in range(M)] for i in range(N)]
10 for row in C :
11 print(*row)
comment :
# 표준 입력을 받기 위해서 sys모듈을 불러오고, 빈 리스트 A, B를 지정해준다.
# N과 M을 받아주고, A와 B에 대해서 N행만큼 M열을 입력해준다.
# 각각의 원소를 더한 행렬 C를 작성해주고, 원소만 출력해주는 print(*)을 사용하여 출력해준다.
'프로그래밍 > 파이썬 python' 카테고리의 다른 글
단계별로 풀어보기 7 - 2차원 배열(3), 8 - 일반 수학 1(1) (0) | 2023.08.07 |
---|---|
단계별로 풀어보기 7 - 2차원 배열(2) (0) | 2023.08.06 |
단계별로 풀어보기 6 - 심화1 (3) (0) | 2023.08.04 |
단계별로 풀어보기 6 - 심화1 (2) (0) | 2023.08.03 |
단계별로 풀어보기 6 - 심화1 (1) (0) | 2023.08.02 |