본문 바로가기
반응형

Data Science/Python Introduction8

[8일차] 튜플(tuple)과 딕셔너리(dictionary)는 복습이 필요해. [튜플; Tuple] - 리스트와 비슷하지만 아이템 변경 불가 - 아이템 변경(수정, 삭제 등)이 불가능함 : 리스트는 가능 - ()을 이용해서 선언하고, 데이터 구분은 콤마(,)를 활용한다. - 숫자, 문자(열), 논리형 등 모든 데이터를 같이 저장할 수 있다. - 튜플에 또 다른 컨테이너 자료형 데이터를 저장할 수 있다. - 튜플 아이템 조회 : 리스트와 마찬가지로 아이템에 자동으로 부여되는 번호표가 있음 - N개의 요소가 있다면 인덱스는 0 ~ (N-1)까지 자동 부여 - 튜플 아이템은 tuple[idx] 방식으로 조회 - in /not in : 아이템 존재 유/무 판단 - item in tuple : 있으면 True, 없으면 False 결과 나옴 - in과 not in 키워드는 문자열에서도 사용 .. 2021. 10. 22.
[7일차] 리스트 요긴하게 쓰기 위한 추가/삭제/슬라이싱. 분명하게 정리하기! * Web Data 관련 강의가 함께 있어서, 오늘 수강한 강의 분량이 적다. [리스트 요소 추가, 삭제, 수정] - 추가 : list.append(요소) - append() - append로 들어갈 수 있는 요소는 또 다른 리스트도 가능하다. ex) list.append([a,b,c]) - append는 항상 리스트의 마지막 인덱스에 추가됨 - 추가2 : list.insert(인덱스, 요소) - 특정 위치(인덱스)에 아이템을 추가할 수 있음 - insert() 연습문제) 오름차순으로 정렬되어 있는 숫자들에 사용자가 입력한 정수를 추가하는 프로그램을 만들어보자. (단, 추가 후에도 오름차순 정렬이 유지되어야 한다.) - 주어진 리스트 : [1, 3, 6, 11, 45, 54, 62, 74, 85] - e.. 2021. 10. 19.
[6일차] 기초수학 연습문제로 마무리하고, 자료구조 시작! [연습문제] - N보다 작은 약수, 소수, 소인수 출력하기 -> 약수는 N에서 해당 수를 나눠서 나머지가 0이면 출력 -> 소수는 해당 수를 다시 1부터 해당 수 - 1 까지 나눠서 나머지가 0인 애가 없으면 출력 -> 소인수는 약수이면 +1, 소수이면 +1해서 2 이면 출력 - N을 소인수분해해서, 소인수들의 지수 출력하기 -> 나머지가 0이면 리스트에 추가하고 갯수 세기 : list.count(n) - list에서 n의 갯수를 카운트함 - 서로소는 1 이외에 약수가 없는 두 수를 의미함 - 최소공배수는 두 수의 곱에서 최대공약수로 나누면 구할 수 있음 : 최대공약수를 먼저 구하면 될 듯 - 2진수로 변환 : bin(n) - 8진수로 변환 : oct(n) - 16진수로 변환 : hex(n) - 10진수.. 2021. 10. 17.
[5일차] 기초수학 왕창 듣는데, 파이썬 구현하는 거에 맛 들림 [최대 공약수] - 두 개 이상의 수에서 공통된 약수를 공약수라고 함 - 소인수분해를 하면 최대공약수 및 공약수를 구할 수 있다. - 겹치는 소인수를 다 곱하면 최대공약수! 예제) 두 개의 수를 입력하면 공약수와 최대공약수를 출력하는 코드를 작성하자. - 파이썬으로 최대공약수를 구하는 것은 "for문과 유클리드호제법"으로 구한다. - 유클리드 호제법 : x, y의 최대공약수는 y, r(=x%y)의 최대공약수와 같다. [최소 공배수] - 공배수 : 두 개 이상의 수에서 공통된 배수를 공배수라고 한다. - 공통인 소인수의 지수가 큰 값 * 공통이 아닌 모든 소인수 - 파이썬에서 최소공배수 : 최대공약수 구함 -> 최대공약수로 각각 나눈 값을 구함 -> 최대공약수와 그 값들 다 곱! 예제) 최소공배수 출력 프.. 2021. 10. 13.
[4일차] 파이썬으로 코딩 예제 풀고, 기초수학 출발 [연습문제] - 점수별 결과 출력 프로그램 코딩 연습 # 점수 입력받기 score = [0,0,0,0,0] score[0] = int(input("국어 점수를 입력하세요.")) score[1] = int(input("영어 점수를 입력하세요.")) score[2] = int(input("수학 점수를 입력하세요.")) score[3] = int(input("과학 점수를 입력하세요.")) score[4] = int(input("국사 점수를 입력하세요.")) #총점, 평균, 편차 출력 index = ['국어', '영어', '수학', '과학', '국사'] everyone = [85, 82, 89, 75, 94] sum_everyone = sum(everyone) avr_everyone = int(sum_every.. 2021. 10. 12.
[3일차] 반복문 완료, 그리고 복습하면서 연습문제 풀어봤음 [반복문] - 특정 실행을 반복하는 것 - 프로그래밍이 간결하고 유지 보수가 쉬움 - 횟수에 의한 반복 / 조건에 의한 반복 - 횟수 : 횟수 만큼 반복 실행 -> for - 조건 : 조건에 만족할 떄까지 반복 실행 -> while [for문 : 횟수에 의한 반복문] ex) 대량 메일 또는 문자 발송, 인사말 반복, mp3 반복 재생 - for ~ in for 변수 in 범위: 실행문 - in 뒤에는 iterable한 자료 구조가 나오면 됨 - 자료 구조 안에 요소들이 하나씩 출력된다고 생각하면 된다. - range(5) = [0, 1, 2, 3, 4] - N번 반복하고 싶으면 range(N)이라고 기억하면 좋을 것 같다. - 구구단 7단을 for 문으로 코딩해보기 - pass 키워드 : 코딩을 나중에 .. 2021. 10. 11.
[2일차] 연산자와 조건문 뽀개기 [산술 연산자] - 할당 연산자는 오른쪽에서 왼쪽으로 전달해주는 것이라고 생각하면 좋다. - % : 나머지만 구하는, // : 몫만 구하는, ** : 거듭제곱 - 문자(열)을 산술 연산자로 연결하면, 그 문자가 반복되는 느낌이라고 생각한다. - 곱셈도 똑같다. *7을 하면 7번 반복됨 - 숫자와 문자는 더할 수 없다. - 실습 : 국어, 영어, 점수를 입력 받아서 표현 - 실수가 들어간 산술 연산의 결과는 실수가 나옴 - 나눗셈의 결과는 항상 '실수(float)'임 - 나머지와 몫을 한번에 구하는 함수는 divmod() divmod(처음 수, 나눌 수) - 10을 3으로 나누려고 하면, 아래와 같다. divmod(10, 3) - 거듭제곱 연산자는 ** 임. 2의 3제곱은 '2 ** 3'으로 코딩함 - n.. 2021. 10. 8.
[1일차] 파이썬이랑 친구하기로 함.. (Pycharm 초기 오류, 파이썬 데이터 기초) [PyCharm] - 오프라인 강의는 주피터노트북만 사용했는데, PyCharm에 대한 것을 알려줘서 흥미로웠다. - 개발 환경이 여러가지가 있는 것은 다 장단점이 있는거겠지? 다 써보고 좋은거 쓰면 좋지 뭐. - 처음에 셋팅할 때 문제가 많았다. 1) 원래 코딩을 입력하고 Ctrl + Shift + F10을 누르면 Run이 되는데, 나는 오류메시지가 계속 떴다. "Error running 'hello (1)': @NotNull method com/intellij/execution/configurations/GeneralCommandLine.getExePath must not return null" -> 그래서 구글링을 통해서 해당 상황을 해결했음 -> File - Setting - Project - Py.. 2021. 10. 7.
반응형