In [ ]:
# 문제) 국어 80점, 수학75점, 영어 55점, 사회 90점
# ---> 이 학생의 평균을 구하는 코드를 작성하세요!!!
In [ ]:
In [ ]:
# 여러 스타일로 이 문제들을 작성을 해보세요!!!
# 변수 : 어떻게 설정하지 고민!!!! + 관계!!!!!
# 잡다한 기능 : 검색을 하거나 해서 찾아서 하시면 됨!!!
In [ ]:
In [1]:
# 방법1) 꾸역꾸역!!
korean = 80
math = 75
english = 55
social = 90
# --> 헤야할 일 : 4과목의 평균을 구하는 일!!!!
# 앞에서 설정한 변수들끼리 관계/ 기능....
avg_score = (korean + math + english + social) / 4
print(avg_score)
75.0
In [2]:
zumsu_list = [80,75,55,90 ]
sum(zumsu_list)
Out[2]:
300
In [3]:
# 방법2) 구체적인 과목명은 필요없으니,,필요한 점수들만!!
# ==> 여러개의 점수들
# ==> 파이썬의 여러개의 자료형 중 : 리스트 선택!!
zumsu_list = [80,75,55,90 ]
# 평균을 계산!!!!
# --> 리스트의 여러 원소들의 합 : sum함수
# 리스트의 원소의 갯수 : len함수
avg_score = sum(zumsu_list) / len(zumsu_list)
print(avg_score)
75.0
In [4]:
# 방법3) 방법2에 대한 것을 직접 구현을 하도록 하겠음!!!
# ==> 코테에서 가장 기본적인 구조 : 카운팅!!! 합!!!!
# ==> sum/len직접 구현을 하겠습니다...
zumsu_list = [80,75,55,90 ]
# zumsu_list를 돌려가면서,,누적합 / 누적 카운팅
# 필요한 변수 : 만들면 됨!!!!
tot = 0 # 누적합을 기록할 용도의 변수
cnt = 0 # 누적 카운팅 기록할 용도의 변수
# 참고) 누적곱 : 1 --> +/* 항등원 ( 초기값을 잘 세팅!!!)
for i in zumsu_list:
tot += i #tot = tot + i # 0, 0+80, 0+80+75, 0+80+75+55
cnt += 1 # cnt갱신
avg_score = tot / cnt
print(avg_score)
75.0
In [ ]:
### 코테를 하다보면 최종적인 껍데기 틀이 카운팅!!!
cnt = 0
for i in ~:
cnt += 1
# 제약조건이 있는 상태의 카운팅!!! : 80점이상인 과목들만 평균
cnt = 0
for i in ~:
if i >80:
cnt += 1
# ===> ++ 파이썬에서는
# 리스트컴프리핸션!!
In [ ]:
In [ ]:
# 잠시 쉬었다가...가변적인 상황으로 확장을 해보겠습니다..
# ==> 가변적인 입력을 받을 때 파이썬 input()함수
# 입력 : 키보드
# 기능 : 키보드 입력값을 문자열
# 출력 : 누린 키보드값의 문자열
In [5]:
a = input("성적을 입력하세요")
a
성적을 입력하세요100
Out[5]:
'100'
In [6]:
a+10
# 주의!!!) input함수로 내가 숫자 키보드를 눌러도..
# 문자열로 취급이 된다!!!
# ==> 숫자로 처리하기 위해서는 "형"변환!!!!
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-6-62ad895bdfa8> in <cell line: 1>() ----> 1 a+10 TypeError: can only concatenate str (not "int") to str
In [ ]:
# 예전부터 유명사이트(백준) : 직접 입력을 해야 가능함.
# 최근 코테사이트(프로그래머스) : 직접 입력을 설계할 필요X
# --> 함수로만 하면 됨..
In [7]:
int(a) + 10
Out[7]:
110
In [10]:
# 방법1에 대해서 수정) ==> 형변환유의1!!
# 전제조건 : 정수값으로만 입력이 온다!!!
korean = int(input("국어점수를 입력하세요."))
math = int(input("수학점수를 입력하세요."))
english = int(input("영어점수를 입력하세요."))
social = int(input("사회점수를 입력하세요."))
avg_score = (korean + math + english + social) / 4
print(avg_score)
국어점수를 입력하세요.10 수학점수를 입력하세요.20 영어점수를 입력하세요.30 사회점수를 입력하세요.40 25.0
In [11]:
# 방법2에 대한 가변적인 입력
zumsu_list = []
zumsu_list.append( int(input("국어점수를 입력하세요.")) )
zumsu_list.append( int(input("수학점수를 입력하세요.")) )
zumsu_list.append( int(input("영어점수를 입력하세요.")) )
zumsu_list.append( int(input("사회점수를 입력하세요.")) )
avg_score = sum(zumsu_list) / len(zumsu_list)
print(avg_score)
국어점수를 입력하세요.10 수학점수를 입력하세요.20 영어점수를 입력하세요.30 사회점수를 입력하세요.40 25.0
In [ ]:
## ++ 그래서 과목이 더 늘어나면 어떻게 할까??
# ==> ctrl+c/v : 고정적인 부분 + 가변적인 부분 체크!!!
# ==> 고정적인 부분 : 하드코딩!
# ==> 가변적인 부분 : 필요한 것들 리스트업
In [12]:
subjects = ["국어","수학","영어","사회","과학","음악"]
subjects
Out[12]:
['국어', '수학', '영어', '사회', '과학', '음악']
In [15]:
zumsu_list = []
for sub in subjects:
txt = sub + "점수를 입력하세요!"
# print(txt)
zumsu_list.append( int(input(txt)) )
avg_score = sum(zumsu_list) / len(zumsu_list)
print(avg_score)
국어점수를 입력하세요!10 수학점수를 입력하세요!20 영어점수를 입력하세요!30 사회점수를 입력하세요!40 과학점수를 입력하세요!50 음악점수를 입력하세요!60 35.0
In [ ]:
'Python' 카테고리의 다른 글
Imbalanced-learn : 머신러닝 데이터 불균형 문제 해소 (0) | 2024.08.17 |
---|---|
PyGWalker - 파이썬에서 태블로처럼 빠른 EDA 시각화 (0) | 2024.08.17 |
Pytorch 튜토리얼 - 텐서연산 및 신경망 구성 (1) | 2024.08.16 |
Home Credit Default Risk [1] feature engineering (0) | 2024.07.24 |
분류(Classification) - 3 베이지안 최적화와 고객만족예측 실습 (2) | 2024.07.23 |