본문 바로가기

python9

네카라쿠배 프론트엔드 취업완성 스쿨 2기 2차 테스트 7일차 학습 링크드 리스트 링크드 리스트 구조 연결 리스트라고도 함 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조 링크드리스트는 떨어진곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조 본래 C언어에서는 주요한 데이터 구조이지만, 파이썬은 리스트 타입이 링크드 리스트의 기능을 모두 지원한다. 배열은 연결된 공간을 미리 예약해야한다는 단점이있다. 하지만 링크드 리스트는 미리 예약하지 않고 필요할 때마다 추가할 수 있다. 노드 (Node) : 데이터 저장 단위( 데이터 값, 포인터 ) 로 구성 포인터( pointer ) : 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 [데이터 | 다음데이터주소 ] → [데이터 | 다음데이터주소] → [데이터 | 다음데이터주소] 다음.. 2021. 6. 23.
네카라쿠배 프론트엔드 취업완성 스쿨 2기 2차 테스트 6일차 학습 자료구조란? 자료구조, 데이터 구조, data structure 대량의 데이터를 효율적으로 관리할 수 있는 데이터 구조를 의미 코드상에서 효율적으로 데이터를 처리하기 위해, 데이터 특성에 따라 체계적으로 데이터를 구조화해야 함 어떤 데이터 구조를 사용하느냐에 따라, 코드 효율이 달라짐 대표적인 자료구조 배열, 스택, 큐, 링크드 리스트, 해쉬 테이블, 힙 알고리즘이란? 어떤 문제를 풀기 위한 절차/방법 어떤 문제에 대해, 특정한 '입력'을 넣으면, 원하는 '출력'을 얻을 수 있도록 만드는 프로그래밍 anaconda란? 파이썬 컴파일러 파이썬 주요 라이브러리들을 포함하고 있음. jupyter notebook 등 유용한 툴 데이터 사이선스 작업에 자주 사용하는 패키지를 간단하게 .. 2021. 6. 22.
네카라쿠배 프론트엔드 취업완성 스쿨 2기 2차 테스트 5일차 학습 이번에는 게임을 만들어 본다. word.txt를 불러와 words에 추가한다. strip()은 문자열이나 공백을 제거하는 함수로 그냥 사용하면 불러온 문자열의 양쪽끝 공백을 제거한다. import random import time words = [] # 영어 단어 리스트 (1000개 로드) n = 1 # 게임 시도 횟수 cor_cnt = 0 # 정답 개수 with open('./resource/word.txt', 'r') as f: for c in f: words.append(c.strip()) print(words) input("준비 됐으면 enter 키를 눌러주세요.") input() input()은 사용자의 입력을 기다리는 함수이다. input()은 입력되는 모든 것을 문자열로 취급한다.(숫자도 문.. 2021. 6. 19.
네카라쿠배 프론트엔드 취업완성 스쿨 2기 2차 테스트 4일차 학습 에러 및 예외 처리 예외는 에러를 뜻한다. 예상치 못한 에러가 발생할 수도 있고 잘못된 코딩이나 잘못된 형변환등 미세한 실수 때문에 에러가 나기도 한다. 아무리 코드가 무결성하더라도 하드웨어 등에서 뜬금없이 나오는 오류까진 완벽하게 처리하기는 어렵기 때문이다. 문법적으로 에러가 없지만, 코드 실행(런타임)프로세스에서 발생하는 예외 처리도 중요하다. SyntaxError : 잘못된 문법 print('test) # SyntaxError: EOL while scanning string literal if True pass # SyntaxError: invalid syntax 예제와 같이 '나 : 등 문법적으로 잘못된 경우 발생하는 에러이다. NameError : 참조변수 없음 a = 10 pri.. 2021. 6. 17.
네카라쿠배 프론트엔드 취업완성 스쿨 2기 2차 테스트 3일차 학습 함수 함수는 어떤 입력값을 가지고 일을 수행하고 그결과물을 내놓는 것이다. 함수를 사용하는 이유는 반복적이고 중복되는 프로그래밍을 피할 수 있어서이다. #정의 def 함수명(매개변수) : ... #호출 함수명(매개변수) def hi(name): print('hi,', name) hi('jiwon') hi('python') 함수의 간단한 예제. hi라는 함수를 정의하여 호출한다. 함수는 재사용이가능하다. 함수는 함수를 호출하기 전에 정의가 되어있어야하기 때문에, 호출부 위에 함수 선언이 되어있어야 한다. 반환이 있는 함수 def hi_return(name): val = 'Hi, ' + str(name) return val print(hi_return.. 2021. 6. 16.
네카라쿠배 프론트엔드 취업완성 스쿨 2기 2차 테스트 2일차 학습 List 순서가 있다. 중복이 가능하다 수정이 가능하다(mutable) 삭제가 가능하다 중첩리스트 가능하다. a = [] b = list() c = [1,2,3,4] d = [10, 100, 'apple', 'banana'] e = [10, 100, ['apple', 'banana']] Indexing (인덱싱) print(d[3]) print(d[-2]) print(d[0] + d[1]) print(e[2][1]) print(e[-1][-2]) 리스트의 인덱싱은 간단하다. 2중리스트의 경우 대괄호를 두 번사용하여 [row][column] 순으로 인덱스를 지정해주면 된다. Slicing (슬라이싱) print(d[0:2]) print(e[2][0:.. 2021. 6. 15.
네카라쿠배 프론트엔드 취업완성 스쿨 2기 2차 테스트 1일차 파이썬 기본 인코딩 파이썬은 UTF-8이라는 유니코드 인코딩을 사용한다. import sys print(sys.stdin.encoding) print(sys.stdout.encoding) 을 컴파일 해보면 입출력이 utf-8 인 것을 확인해볼 수 있다. 가상환경 프로젝트마다 다른 버전의 파이썬과 프레임워크 등등을 사용하기 위해 별개의 가상의 환경을 만들고 구성하여 사용한다. $ python -m venv 가상환경이름 명령어를 사용해 가상환경을 만들 수 있다. 이 명령어를 실행하면 못보던 디렉토리가 생겼을 것이다. 이 가상환경을 실행 시켜보자 MAC : source ./가상환경이름/bin/activate WINDOW : ./가상환경이름/Scripts/activate.bat MAC : source ./가상환.. 2021. 6. 14.
파이썬 print와 separator, end , format , escape 한 번에 알아보자 파이썬 언어의 장점 문법이 간결하다. 다양한 운영체제를 지원한다. GUI Application 개발. 방대한 라이브러리를 지원한다. 범용적이다. Print 함수의 다양한 사용 방법 가장 기본적인 output 함수 기본 출력 separator, end 옵션 사용 format 형식 출력 escape code 사용법 print는 출력하고자 하는 변수나 문자열, 숫자 등 다양한 자료형을 넣어서 출력할 수 있다. print('Hello world!') print("Hello world!") print("""Hello world!""") print('''Hello world!''') print 는 따옴표(' '), 쌍따옴표(" "), 쌍따옴표 3개 (""" """), 따옴표 3개(''' ''')를 사용해서 출력할 .. 2021. 6. 14.
[python] sys.stdin 과(vs) sys.stdin.readline() 차이 파이썬의 sys모듈 stdin은 표준 입력에서 사용된다. 내부적으로 input() 함수를 호출하고 입력 문자열에는 개행문자 (\n)가 추가된다. 그럼 sys.stdin 과 sys.stdin.readline의 차이는? import sys for line in sys.stdin: if (line == "\n"): #파일 끝내기 break print(line ,end="") 앞서 말했 듯 입력 문자열에 개행문자가 추가되어 출력될때 print와 함께 개행하여 2줄씩 개행되는것을 막기 위해 end="" 를 사용하여 print 의 자체 개행을 없앴다. sys.stdin 은 입력 문자열을 line으로 받아오는 것을 볼 수 있었다. import sys for line in sys.stdin.readline(): if .. 2020. 8. 14.