코드 21

[~2021.10.06] 딥러닝 강좌 듣기.

늘 다짐이 그렇듯 처음에는 의지에 불타올라 열심히 하다 시간이 지날수록 점점 귀찮아지고 잘 안 하게 된다. 그렇다고 공부를 아예 안한것은 아니지만, TIL 작성도 귀찮고 공부량도 적어진 것은 사실이다. 다시 마음을 다잡고 할 수 있는 계기가 필요한 것 같다. 1. 클래스 상속은 어떤 클래스를 만들 때, 기능을 이어받는 것을 말한다. 2. class 자식클래스(부모클래스): 명령어로 자식클래스를 만들 수 있다. 3. 자식클래스에서는 파이썬 내부적으로 부모클래스의 생성자를 불러오기 때문에 따로 작성하지 않아도 된다. 4. 메소드 오버라이딩은 부모클래스에 있는 메소드를 가져와 수정하고 덮어쓰는 것을 말한다. 5. 클래스 변수는 객체 변수와 달리 모든 객체에 공유된다. (같은 데이터 값을 갖는다.) 6. Log..

[코뮤니티] 클래스와 메소드, 생성자

계산기 기본기능을 클래스를 이용해 만들어보았다. 클래스 안에는 메소드가 있으며 이를 이용해 만든 것을 객체라고 한다. 클래스는 붕어빵틀과 같이 객체를 생성할 수 있으며, 이로 만들어진 붕어빵을 객체라고 볼 수 있다. class 안의 def 함수는 메소드(method)라고 불린다. 메소드의 self 파라미터는 객체 자신을 메소드로 전달한다. def __init__() 생성자를 사용하면 초기값을 설정하고 객체가 생성될 때 자동으로 호출된다. (a = Calculator(x, y)) class Calculator: def __init__(self, first, second): self.first = first self.second = second def add(self): result = self.first ..

Coding/Python 2021.09.29

[코뮤니티] 파이썬(python) 튜플, 집합, 딕셔너리(dictionary)

달콤한 파이썬 #3. 튜플, 집합 튜플 리스트는 대괄호 [ ]로, 튜플은 괄호 ( )로 둘러싼다. 리스트와 달리 튜플은 값의 생성, 삭제, 수정이 불가능하다. 다른 자료형도 포함할 수 있다. tuple_1 = (1, 2) tuple_2 = ("python", 1, 2) tuple_3 = (1, 2, (1, 2, 3)) print(tuple_1) # (1, 2) print(tuple_2) # ('python', 1, 2) print(tuple_3) # (1, 2, (1, 2, 3)) 튜플 역시 인덱스로 접근할 수 있다. + : 튜플 추가 (이어붙이기) * : 튜플 반복 tuple_1 = (1, 2) tuple_2 = ("python", 1, 2) tuple_3 = (1, 2, (1, 2, 3)) print..

Coding/Python 2021.09.28

[2021.09.27] 11번째 파이썬 공부 : 다음은?

코드잇의 프로그래밍 기초 in python 강좌를 모두 수강했다. 비록 난이도는 낮은 편이었지만, 파이썬의 기초적인 개념을 배울 수 있어서 좋았다. 1. 특정 조건을 만족할 때까지 반복하는 것은 while문을 사용하는 것이 좋다. 2. if ~ in 을 사용하여 요소가 리스트에 있는지 확인하는데 요긴하게 사용할 수 있다. 3. 조건이 여러개일 때는 가장 범주가 작은 조건을 우선으로 작성하고, 그 조건 이외에 상황에서 어떻게 나눌 것인지 생각하는 게 좋다. 4. 함수의 파라미터를 여러개 지정하여 return할 수 있다. 지금까지 기초적인 파이썬 공부를 해보았고, 앞으로 인공지능과 빅데이터 관련 공부를 하기 위해 Coursera의 Neural Networks & Deep Learning 강좌를 수강할 계획이..

[코드잇] 파이썬(python)으로 숫자야구 게임 시뮬레이션 구현하기

[프로젝트] 숫자야구 숫자 3개 뽑기 : generate_numbers from random import randint def generate_numbers(): numbers = [] while len(numbers) < 3: # 리스트의 요소가 3개 미만일 동안 반복 num = randint(0,9) if num not in numbers: # 중복값을 없애기 위해 중복이 아닐때만 리스트에 추가하기 numbers.append(num) return numbers print(generate_numbers()) 숫자 예측하기 : take_guess def take_guess(): print("숫자 3개를 하나씩 차례로 입력하세요.") guess =[] while len(guess) < 3: # 리스트에 요..

Coding/Python 2021.09.27

[2021.09.24] 10번째 파이썬 공부 : 꾸준함을 유지하자

추석 연휴 동안에는 코드잇 강의나 따로 파이썬 공부는 하지 않고, 우연히 코뮤니티의 추석맞이 챌린지를 발견해서 하루에 한 문제씩 코드를 작성해봤다. 그리고 연휴가 끝난 금요일이 되서야 다시 코드잇 강좌를 들었다. 이번 내용은 로또 시뮬레이션을 구현하는 프로젝트였는데, 배운 것들을 활용할 수 있는 부분이 많았다. 1. for ~ in ~ range() 로 리스트를 효율적으로 다룰 수 있다는 사실을 잊지 말자. 2. 코드를 쓰기 전에 while문을 써야 효율적 일지 for문을 써야 효율적일지 고민해보자. 3. from itertools import combinations를 통해 조합을 나타내고 계산할 수 있다. 4. 사용자 지정 함수 def function(): 를 사용할 때 어떤 값을 받아(paramete..

[코드잇] 파이썬(python)으로 로또 시뮬레이션 구현하기

[프로젝트] 로또 시뮬레이션 번호뽑기 : generate_numbers 정수 n을 파라미터로 받고 무작위로 1과 45 사이의 서로 다른번호 n개 뽑기, 리스트로 반환 for ~ in ~ range 함수를 이용해 n개 요소가 있는 리스트 만들기 from random import randint def generate_numbers(n): rand_list = [] for number in range(n): rand_list.append(randint(1,45)) # n번 반복할 동안 리스트에 무작위 값 추가하기 return rand_list 당첨 번호 뽑기 : draw_winning_numbers 일반 당첨번호 6개와 보너스 번호 1개가 포함된 리스트 반환. 일반 당첨번호는 정렬되어 있고, 보너스 번호는 마..

Coding/Python 2021.09.24

[코뮤니티] 블랙잭 파이썬(python)으로 구하기 (추석맞이 코딩챌린지)

3일 차 코뮤니티의 추석맞이 코딩 챌린지는 블랙잭을 파이썬으로 구현하는 것입니다. 문제는 다음과 같습니다. 카지노에서 자주 플레이되는 블랙잭의 규칙은 카드의 합이 21이 넘지 않는 한도 내에서, 카드의 합을 가장 크게 만드는 게임이다. 이와 유사하게, 코드메이트 버전의 블랙잭은 N개의 카드 중 세장의 카드를 뽑아 X를 넘지 않으면서 X와 가장 가까운 수의 카드 조합을 골라내는 규칙으로 진행된다. 첫째 줄에는 카드의 개수 N과 목표 값 X가 주어지며, 두 번째 줄에는 카드에 쓰여있는 수가 입력으로 주어질 때, X에 가장 가까우면서 X를 넘지 않는 카드 세장의 합을 구해서 출력하세요. 이 문제를 풀기 위해서 제가 생각한 방법은, 1. 입력받은 카드에 쓰여있는 수의 조합을 모두 구한다. (Combination..

Coding/Python 2021.09.20

[코뮤니티] 달팽이의 정상 정복 파이썬(python)으로 구하기 (추석맞이 코딩챌린지)

코뮤니티의 코딩 챌린지 2일차. 달팽이가 나무를 올라가기 위해서는 며칠이 걸리는 지 계산하는 문제입니다. 문제 내용은 다음과 같습니다. 달팽이는 높이가 N인 나무를 올라가고자 한다. 달팽이는 낮에는 A미터를 올라갈 수 있지만, 밤에 휴식을 취하면서 B미터 미끄러져 내려온다. 달팽이가 나무 정상에 도달하기 위해선 며칠이 걸릴까요? 조건 1 : 첫번째 줄에 A, B, N이 공백으로 구분되어 주어집니다. 조건 2 : 정상에 도달하는게 불가능할 경우, -1을 출력하세요. 수열은 수학에서 아래의 점화식으로 정의되는 수열입니다. 제가 생각한 방법은 다음과 같습니다. n 일차 낮일 때 달팽이가 올라간 나무의 높이는 nA - (n-1)B 미터이고, 이때 정상에 도달했다고 한다면 nA - (n-1)B >= N 일 때의 ..

Coding/Python 2021.09.19

[코드잇] 파이썬(python) 사용자 입력받기(input), 파일 읽고쓰기(with ~ open), strip, split

사용자 입력 받기 input 사용자에게 입력받아 출력하는 함수이다. input() 은 입력 받은 값을 문자열로 처리한다. 연산을 하기 위해서는 다른 자료형으로 변환해야한다. name = input("이름을 입력하세요 : ") # 입력되면 input부분이 문자열로 대체됨 print("이름 : ", name) # 이름 : [입력된 값] x = int(input("숫자를 입력하세요 : ")) # input은 문자열로만 받음 print(x + 5) # [입력된 값] + 5 파일 읽고 쓰기 파일 읽기 with open('directory/filename', 'r' ) as f 로 파일을 불러와 변수에 저장할 수 있다. for문을 사용해 파일 내용을 불러와 출력할 수 있다. with open('data/chicke..

Coding/Python 2021.09.16