Coding/Python 26

[코드잇] 파이썬(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)으로 구하기 (추석맞이 코딩챌린지)

피보나치수열은 이전 두 값을 더한 값이 다음 값이 되는 수열입니다. 이를 점화식으로 나타내면 다음과 같습니다. 만약 (i)번째 피보나치수열을 구하는 코드를 부족한 실력이지만, 파이썬으로 작성하면 어떻게 될지 알아보겠습니다. num = [0, 1, 0] i = 0 n = 2 i = int(input("피보나치 수열의 몇번째 숫자를 출력하시겠습니까? : ")) if i >= 2: print(f"{num[0]} + 0 = {num[2]}") while n = 2: print(f"{num[0]} + 0 = {num[2]}") while n

Coding/Python 2021.09.18

[코드잇] 파이썬(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

[코드잇] 파이썬 (python) 모듈(import) 사용하기, standard library(math, random, datetime, os) 맛보기

파이썬 모듈 맛보기 모듈 같은 폴더의 다른 파일에 있는 함수를 불러올 수 있다. import [file] as [name] : file의 이름 대신으로 name을 사용할 수 있다. from [file] import [function] : file의 함수 중에서 특정 function 몇 개만을 가져올 수 있다. # calculator 파일 def add(x,y): return x + y def subtract(x,y): return x + y def multiply(x,y): return x * y def divide(x,y): return x / y import calculator as calc # calculator 이름 대신 calc 이름을 쓰겠다! print(calc.add(2, 5)) # 7 pr..

Coding/Python 2021.09.14

[코드잇] 파이썬(python) Aliasing(별명, 가명) - 가변형(mutable), 불변형(immutable), 리스트와 문자열의 공통점 / 차이점

파이썬 데이터의 비밀 Aliasing 파이썬 자료형의 따라 aliasing이 일어난다.불변형 (immutable) : tuple, str, int, bool, float 가변형 (mutable) : dict, list 변수 이름이 적힌 이름표를 값에 단다고 생각할 수 있다. x = 5 # 5에 x라는 이름표를 단다. y = x # x = 5 이므로 5에 y 이름표를 단다. y = 3 # 한 이름표는 한 곳에만 달릴 수 있다. 5에 있던 y 이름표가 없어지고 3에 y 이름표가 달린다. print(x) # 5 print(y) # 3 리스트의 경우 가변형이기 때문에 값이 다 바뀐다. x = [2, 3, 5, 7, 11] y = x # 가명 (alias) # [2, 3, 5, 7, 11]에 y 이름표를 단다. ..

Coding/Python 2021.09.14

[코드잇] 파이썬(python) 사전(dictionary), key-value pair, for ~in문 활용

사전 Key - Value pair(키- 값 쌍)로 이루어져 있다. 리스트와 다르게 인덱스 순서가 없다. 정수 외에 문자열과 같은 다른 자료형을 key나 value로 사용할 수 있다. dictionary[key] = value my_dictionary = { 5: 25, # key=5, value=25 2: 4, 3: 9, '엄마': 'mother' } print(type(my_dictionary)) # class 'dict' print(my_dictionary) # {5: 25, 2: 4, 3: 9, '엄마': 'mother'} print(my_dictionary[3]) # 9 print(my_dictionary['엄마']) # mother my_dictionary[9] = 81 # key 9 추가 p..

Coding/Python 2021.09.13

[코드잇] 파이썬(python) for 반복문, range 함수 (parameter 1개, 2개, 3개)

for 반복문 상황에 따라 while문 보다 더 깔끔할 수 있다. 조건 부분이 없다. 상황에 따라 판단해서 더 좋은 것을 사용하면 된다. my_list = [2, 3, 4, 5, 7, 11] for number in my_list: print(number) my_list = [2, 3, 4, 5, 7, 11] i = 0 while i < len(my_list): print(my_list[i]) i += 1 range 함수 장점깔끔함 메모리 효율성 간편함 파라미터 1개 버전 0 부터 stop -1 까지의 범위 for i in range(stop): print(i) # 0 ~ stop-1 파라미터 2개 버전 start 부터 stop-1 까지의 범위 for i in range(start, stop): prin..

Coding/Python 2021.09.10

[코드잇] 파이썬(python) 리스트(인덱스, 추가, 정렬), in 함수, Nested list, sort, reverse, index, remove

리스트 변수에 값을 여러개 저장하려 할 때 사용 리스트에 있는 하나의 값을 요소라 부른다. numbers = [2, 4, 6, 8, 10] names = ["가", "나", "다", "라"] print(names) # ['가', '나', '다', '라'] print(numbers) # [2, 4, 6, 8, 10] 인덱싱 (indexing)파이썬에서 인덱스는 0부터 시작한다. (0, 1, 2, 3, ... ) 요소에 번호를 매기고 불러올 때 사용 numbers = [2, 4, 6, 8, 10] names = ["가", "나", "다", "라"] print(names[0]) # 가 print(numbers[3]) # 8 #요소를 불러와 새로운 변수 지정 num_1 = numbers[1] # 4 num_2 ..

Coding/Python 2021.09.09