목록파이썬 (37)
** 모듈이란? 누군가 이미 개발해 놓은 훌륭한 기능 ... 많이들 아는 pandas seaborn etc.. ** 오퍼레이터 모듈을 활용하여 산술연산을 해보자 operator.add() + 덧셈 add operator.sub() - 뺄셈 substitute operator.mul() * 곱셈 multiply operator.truediv() / 나눗셈 truedivision operator.mod() % modulo 나머지 ( 13 % 4 ) -> 1 operator.floordiv() // 몫(나누고 버렸다) ( 13 // 4 ) -> 3 operator.pow() ** 거듭제곱 ** 오퍼레이터 모듈을 활용하여 비교연산을 해보자 operator.eq() == equal operator.ne() != ..
** 아래 경로에 들어가 community 용을 다운로드 한다 ** windows // mac.os 모두 지원하고 있다 https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows 다운로드 PyCharm: JetBrains가 만든 전문 개발자용 Python IDE www.jetbrains.com ** 필자는 맥북이라서 dmg 파일을 받은 후, (오른쪽 이미지) 파이참 아이콘을 응용 프로그램으로 드래그(복사)해서 설치를 완료 했다. ** 기본 경로를 바꿔준 후 정상적으로 새 프로젝트를 open 한 모습
** 명령 프롬프트로 실행 ** IDLE 실행 ( Integrated Development Learning Environment / 통합 개발 환경 툴 : 코드 작성 디버깅 실행 등을 위한 툴 ) - windows 검색으로 python 검색 - IDLE 실행 - python shell(셸 모드)은 간단한 코드(테스트 정도)를 작성하는 경우 사용 - 셸모드에서 코드편집기 실행 ( 코드 편집기에서 코드를 작성하고 저장해도, F5로 실행해도 결과는 셸에서 실행됨 )
** 파이썬이란? - 1991년 네덜란드 개발자 귀도 반 로섬이 만듦 - 처음 소규모 프로젝트에 사용하기 위해서 만듦 - 이후 주변 사람들로부터 인기를 얻어 완성도가 높은 파이썬이 탄생함 - 구글은 자바와 함께 파이썬을 메인 언어로 사용하고 있음 - python 이란 이름은 귀도 반 로섬이 좋아하는 프로그램에서 유래됨 ** 특징 - 무한 정수를 처리할 수 있다 -> 컴퓨터 메모리가 허용되는 한, 어마어마한 양의 정수를 처리할 수 있다 - 문법 구조가 쉽다 -> 기존 c나 c++ , java 보다 문법구조가 쉬워서 학습 시간이 덜 걸린다 - 다양하고 뛰어난 모듈이 많다 ** 설치 www.python.org Welcome to Python.org The official home of the Python Pr..
* 모든 사건 : 모든 경우의 수, 표본 공간 ( space ) * 사건 : 특정 사건으로, 어떤 한 가지의 경우 ( event ) * 확률 : 표본 공간에서 특정한 사건이 일어날 가능성 ( probability ) * 조합을 통해서 확률을 알아낼 수 있다 ex) 아래 예제 , 총 7장의 종이에서 3장의 종이를 선택하는 경우의 수 -> 7C3 ( sample = 35 ) 꽝 2장과 선물 1장을 뽑는 확률 -> 4C2 * 3C1 , 18 가지 따라서 event / sample 은 18/35 , *100 (probability) 는 51.43% * 정리는 노트에 기록함 * jupyter notebook ( python 3 ) * 조건문 연습 ( 복붙 )
* 순서와 상관 없는, 선택된 성분들의 조합 * { a, b } = { b, a } * r개의 길이를 갖는 선택 항목의 조합은 r! 개 만큼의 중복이 발생할 수 있다, 따라서 선택된 항목의 중복성을 줄여야 한다 * nPr / r! * 중복을 방지 한다고 했을때, r개 길이 만큼의 중복인 r!가 발생하는 경우는, * 순서와 상관없이 고른 r개를 나열하는 경우를 생각해보면 된다. * a,b,c,d 4가지 카드 중에서 3개의 카드를 고르는 상황에서 발생하는 중복을 알아보자 * ex) abc acb bac bca cab cba -> 순서와 상관없이 이미 고른 것들로 인해 발생하는 경우의 수는 3*2*1 이다 * 정리는 노트에 기록함 * jupyter notebook ( python 3 ) * 조건문 활용 방법 ..
* 순서를 지켜서 일렬로 나열하는 경우의 수 * n개에서 r개를 택하여 나열하는 경우의 수 -> nPr 이라고 표현 * 순열은 순서를 따지지만, 조합은 따지지 않는다 * nPr = n(n-1)(n-2) ... (n-r+1) 단, (0 계속 2가지의 경우의 수가 있다 ) 따라서 중복을 제거 ex) 5P3은 5개중에서 3개를 순서대로 고른다 ( 모든 경우의 수 ) -> 5*4*3 / 2*1 ( 고르지 않은 나머지 2개의 중복을 제..
* 여러 개의 항을 묶었을 때 ( 군 ), 규칙성을 가지는 수열 * 정리는 노트에 기록함 * 공식은 없으며, 특정번째의 항을 찾을때, 각 군의 개수를 통해서 위치와 값을 구할 수 있다 * jupyter notebook ( python 3 ) * 조건문 활용 방법 조건문의 시작은 i != n 이니 , 당연히 else 문이 먼저 돌아가고( 식별을 위해 증가로 표시 해놓음 ), range ( 1 ~ n+1 ) , 즉 i가 1 부터 n까지 돌아가고 있는 루프문 하에서 nCnt는 계속 1씩 증가, else > else .. > if , n+=1이 되어 for 문의 range는 1, n+1이 된다. i값 역시 n까지의 값에 따라서 종료되는 수가 1 씩 증가, i=1 / n=1 / nCnt=1 i=1, 2 / n=2..
* 팩토리얼 : n! , 1부터 0의 정수 n까지 모두 곱한 것 * 정리는 노트에 기록함 * jupyter notebook ( python 3 ) * 조건문 , 재귀함수 활용 방법 > # 반복문 이용 # for 문 inputN = int(input("n의 팩토리얼:")) result = 1 for n in range ( 1, inputN+1 ): result *= n print("{}의 팩토리얼:{}".format(n,result)) # while 문 inputN = int(input("n의 팩토리얼:")) n = 1 result = 1 while n >> if n==1 즉, 2*factfun(1) 일때 재귀함수가 종료, 1이 호출되며 루프 종료 def factorialFun(n): if n==1: re..
* 피보나치 수열 : 두 항의 차로 이루어진 또 다른 수열 , 예를 들어, 어떤 수열에서 각 항 간의 차가 또 다른 수열을 형성하고 있다 ( 규칙이 있는 ) * jupyter notebook ( python 3 ) * 피보나치 수열의 n번째 항과 그 합을 계산하는 코드 * 조건문 활용 방법 > * 반복문 활용 input_nth = int(input("n번째까지 구합니다 : ")) value_n = 0 sum_n = 0 value_pre2 = 0 value_pre1 = 0 n = 1 while n
* 계차 수열 : 두 항의 차로 이루어진 또 다른 수열 , 예를 들어, 어떤 수열에서 각 항 간의 차가 또 다른 수열을 형성하고 있다 ( 규칙이 있는 ) * 계차수열을 활용해서 수열 An의 일반항을 구할 수 있다 * 등차수열인 Bn에서 등차 수열의 합, 일반항 찾기 공식을 사용한 후, Bn과 An의 n번째 항에 유의하며 진행 * 유도식 및 정리는 노트에 기록함 * jupyter notebook ( python 3 ) * 계차수열의 n번째 항을 계산하는 코드 * 조건문 , 공식 활용 방법 > * 반복문 활용 inputAN1 = int(input("A1값을 입력:")) inputAN = int(input("AN값을 입력:")) inputBN1 = int(input("B1값을 입력:")) inputBD = i..
* 등비 수열 : 연속된 두 항의 비가 일정한 수열 * 등비 중항 : 연석된 등비 수열의 세 항 중에서의 가운데 항 * 유도식 및 정리는 노트에 기록함 * jupyter notebook ( python 3 ) * n번째 까지의 등비수열의 합을 계산하는 코드 * 조건문 , 공식 활용 방법 > * 조건문 활용 inputA1 = int(input("첫번째 항의 값을 입력하세요: ")) inputR = int(input("공비의 값을 입력하세요: ")) inputN = int(input("차수를 입력하세요: ")) valueN = 0 sumN = 0 n = 1 while n