경제 데이터 분석을 위해 다양한 통계 자료들을 사용하게 됩니다. 보통은 국가기관이나 포털에서 제공하는 정도만으로도 충분히 훌륭하긴 하지만, 간혹 엑셀 같은 스프레드시트로 제공되는 데이터를 가공하는 경우도 있습니다. 그래도 부족하다고 생각된다면 프로그램 언어는 직접 배워서 해보는 것도 시도해 볼만합니다. 그럼 데이터 사이언스에 많이 사용되는 파이썬을 배워보도록 하겠습니다.
일단 사칙 연산부터
아직 준비가 안되신 분들은 아래 링크로 가셔서 아나콘다 설치하고 오세요.
가볍게 jupyter notebook에서 다음 문제를 풀어 보겠습니다.
라면 1개는 2000원 입니다.
생수 1병은 1000원 입니다.
주머니에 보니 70000원이 있네요.
라면 10개, 생수 7병 구매하였습니다.
오늘 내가 가진 돈의 몇 %를 사용하였나요?
바로 계산해도 되지만 변수를 배웠으니
각각의 숫자들을 변수에 넣어 수식을 만들겠습니다.
라면 : r = 2000
생수 : w = 1000
가진돈 : m1 = 70000
남은돈 : m2 = m1 - ( r * 10 + w * 7 )
돈 사용률 : r = (( m1 - m2) / m1) * 100
수학 교과서에 나오는 사칙연산을 거의 그대로 사용했는데 계산이 되네요.
참고로 jupyter notebook 은 변수 이름만 써도 결과 값을 출력해 주지만
향후 다양한 형태의 출력을 해보기 위해서 익숙해지기 위해
print( ) 함수로 변수를 출력해 보았습니다.
나머지와 몫
간단한 예제를 하나 더 해보겠습니다.
공구 상자에 볼트가 47개, 너트가 24개 있습니다.
제품 하나를 조립하는데 볼트와 너트가 각각 5개씩 필요합니다.
오늘 생산할 제품이 70개 입니다.
아무래도 볼트와 너트가 부족할 것 같습니다.
볼트와 너트는 낱개 판매 되지 않고
각각 10개를 한 묶음으로 구매 가능합니다.
추가로 구매해야 할 볼트와 너트의 수량과
오늘 제품 생산후 남는 수량을 알려주세요.
막 볼트, 너트를 엮어서 풀어야 할 것 같은 느낌이지만
그냥 각각 구해 보면 됩니다.
제품 : p = 70
현재 블트 수량 : b1 = 47
오늘 필요한 볼트 수량 : bn = p * 5 ( 제품 1개당 5개 볼트가 필요하죠 )
추가로 필요한 볼트 수량 : bd = bn - b1 ( 오늘 필요한 거에서 가진 거를 뺍니다. )
주문해야 할 볼트 묶음 : bp = bd // 10 ( 10개씩 한 묶음이니 10으로 나눈 몫을 구합니다.)
주문 후 볼트 수량 : b2 = b1 + bp * 10
생산후 남은 볼트 수량 : b3 = b2 - bn (주문 후 수량에서 오늘 필요 수량을 빼줍니다.)
그런데 // 연산자의 특성상 필요한 볼트 수를 10으로 나누었을 때
나머지가 있다면 위에서 게산한 bp 만큼 주문하면
제품을 다 생산할 수 없습니다.
계산해 보면 생산후 남은 수량이 음수가 나옵니다.
그래서 한 묶음을 더 주문해 주어야 만 생산을 할 수 있습니다.
주문해야 할 볼트 묶음 : bp = bd // 10 + 1
수정 후 계산해 보면 생산 후 7 개가 남는 걸 알 수 있습니다.
너트도 동일한 방법으로 하면 됩니다.
그런데 흐름이 동일하다면 굳이 새로 작성할 필요가 없을 것 같습니다.
다른 부분은 다 동일하고 현재 너트수량 만 다르게 하면 되겠네요.
b1 = 24
몫 연산자는 사용했는데 나머지 연산자를 사용을 못했네요.
남은 볼트와 너트를 1:1로 체결하면 남는 건 몇 개 일지 계산해 보겠습니다.
남은 볼트 개수 b3 = 7
남은 너트 갯수 n3 = 4
아직 조건문은 모른다고 가정하고
누가 봐도 볼트가 남을 것 같으니 아래와 같이 계산합니다.
남은 볼트 개수 b4 = b3 % n3
마치며
산술연산자와 관련된 예제를 풀어 보았습니다.
현실에서 마주치는 문제는 사실 이 정도 계산인 경우가 많습니다.
생활 속에서 마주치는 문제들은 위 예시처럼
쭉 흘려보시면 프로그래밍이 좀 더 친숙해질 수 있으리라 생각됩니다.
참고자료...
'도구' 카테고리의 다른 글
파이썬을 배워보자[조건문] (0) | 2024.06.16 |
---|---|
파이썬을 배워보자[논리연산자] (0) | 2024.06.15 |
파이썬을 배워보자[비교연산자] (0) | 2024.06.14 |
파이썬을 배워보자[변수] (0) | 2024.06.12 |
파이썬을 배워보자[설치] (1) | 2024.06.11 |
댓글