파일 사용하는 방법 open , write close() 방법이 있다. file = open('hello.txt', 'w') file.write('Hello, world!') file.close() hello.txt 메모장을 생성해서, 그 안의 내용을 저장한다. 파일 위치는 파이썬을 불러올 때 제일처음 보이는 화면, 파이썬 기본 화면에 메모장이 저장 되어있는 것을 확인 할 수가 있다. 파일 불러오기 file = open('hello.txt', 'r') s = file.read() print(s) file.close() 이제 메모장에 있는 내용을 가져오기 위해서는 반대로 'r' 방식을 이용해서 가져온다. 이제 print 함수를 통해 텍스트의 내용을 그대로 가져오는 것을 확인 할 수가 있다. 자동으로 파일 ..
문자를 바꿀때 사용하는 함수이다. 문자열 변경하기 'Hello, world!'.replace('world', 'Python') >>> 'Hello, Python!' 문자를 변경할 때 사용하는 함수는 replace다. 해당 문자열을 받게 된다면 정해진 문자열로 바꿔준다. table = str.maketrans('aeiou', '12345') 'apple'.translate(table) >>> '1ppl2' 각 문자마다 바꿀 문자를 정한 상태로 apple를 받아서 a와 e는 정해진 값으로 변경 되었다. maketrans와 tanslate는 세트이므로 같이 사용해야 효과를 발휘하는 함수이다. 문자열 분열하기 'apple, pear'.split(',') >>>['apple', 'pear'] 본의아니게 계속 사용..
리스트를 사용 할 때 한 줄로 늘어진 1차원 리스트라면, 리스트 2개를 사용한다면 2차원 리스트가 된다. 쉽게 말하면 표의 행과 열의 구분이다. a = [[10, 20],[30, 40],[50, 60]] 이는 3행 2열이다. 그래서 a의 길이는 3이다. 이제 이를 for문을 통해 출력을 한다고 과정 했을 때 a = [[10, 20], [30, 40], [50, 60]] print(a) for i in a: for j in i: print(j) 2개의 리스트를 사용하기 때문에 2개의 for문이 필요하다. 그러나 파이썬을 사용하므로 간략하게 쓰는 방법도 있다. a = [[10, 20], [30, 40], [50, 60]] for x, y in a: print(x, y) 이렇게 for문 하나로도 이차원 배열 ..
리스트를 추가와 삭제를 당연히 할 수 있다. 그 방법에 여러가지 방법이 존재한다. append, extend, insert가 있다. arr = [10, 20, 30] arr.append(500) append는 리스트 끝에 요소 하나를 추가한다. [10, 20, 30[ 에 500을 append 사용 할 경우 [10, 20, 30, 500] 이 된다. 그러나 여기서 조심해야할 점은 파이썬은 타입에 너무 자유롭다는 점이다. arr = [10, 20, 30] arr.append([100, 200]) >>[10, 20, 30,[100,200]] 그러므로 이렇게 append로 100, 200이 한 번에 들어올 경우에 리스트 안에 리스트를 넣는 결과도 낳을 수가 있다. 이에 대한 len(arr) 출력값은 4이다. 이..
조건문, 특정 조건일 때 사용하는 실행 문법. 오른쪽을 할건지 왼쪽을 할건지 구분을 지어야 할 때 x = '오른쪽' if x == '오른쪽: print('오른쪽입니다.) 이런식으로 사용 할 수 있게 된다. if 조건값 : 실행 코드 if로 조건이란 것을 명시하며 조건을 준다. 그리고 : 을 통해 조건문이 실행됨을 알린다. 실행 문자는 들여쓰기로 가능하다. 스페이스 2~4번 혹은 Tab키 하나로 들여쓰기로 조건문 안이라는 것을 명시한다. 이는 다른 언어에서 { } 처럼 중괄호로 명시를 해주지만, Python은 그러지 못 한다는 점에 있다. 그래서 중괄호 대신 들여쓰기로 구분을 짓는다. 그러나 여기서 조심해야 할 점은 if a == 10: print(a) print('가나다') 이렇게 들여쓰기가 일관성 없게..
연결된 값을 묶어서 저장하는 용도로 딕셔너리라는 자료형을 제공한다. a = {'a' : 50, 'b' : 40} 딕셔너리의 특징은 {} 중괄호를 사용한다는 점이다. 그리고 Java에서의 Map 방식을 이용한다. 기존 리스트는 순서대로 들어갔으므로 순서를 통해 위치를 파악한다면 딕셔너리는 a { 키값 : 결과값}의 키값을 통해서 결과값을 비교한다. 즉, 키 값을 임의로 저장 할 수 있으며, 내가 원하는 키값을 통해 결과값을 도출 시킬 수가 있다. 여기서 만약 key값이 중복 된다면? a = {'a' : 10, 'b':20, 'a':30} >>>a :30, b: 20 기존 언어와는 다르게 중복된 데이터가 들어오더라도 Error가 발생하지 않는다. 그러나 기존의 자료는 버리고 새로운 값이 들어감을 확인 할 수..
리스트, 튜플 , range, 문자열들은 모두 값이 연속적으로 이어져 있다. 파이썬에서는 이처럼 값이 연속적으로 이어진 자료형을 시퀀스 자료형이라고 부른다. 시퀀스 자료형의 가장 큰 특징은 공통 동작과 기능을 제공 한다. 특정 값이 있는지 확인 in a = [0, 10, 20, 30] 30 in a >>>True 값이 있을 경우 True, 없을 경우 False가 발생한다. 반대로 not을 넣을 경우 결과값은 반대로 된다. 위와 같이 실행 햇을때 a = [0, 10, 20, 30] 30 not in a >>>False not은 결과값을 뒤집는다. 시퀀스 연결기 + a = [0, 10, 20, 30] b = [9, 8, 7] a + b >>>[0, 10, 20, 30, 9, 8, 7] 시퀀스는 + 를 통해 ..
파이썬의 배열은 모든 타입을 한 번에 저장 할 수가 있다. 이 점이 문제가 되었다. 내가 찾는 값이 타입과 결과가 같은지 아닌지를 확인하기가 어렵다는 점이다. 그래서 ' in ' 을 사용해서 비교를 한다 a = [ 10, 20 , 30 , 40 , 50] 30 in a => True in을 사용해서 쉽게 비교가 가능해진다. 인덱스 일반 Java에서는 0에서부터 배열의 크기까지 가능하지만 파이썬은 -1 부터 배열의크기까지 - 를 할 수가 있다. 양수는 처음부터, 음수는 맨 뒤부터 진행이 된다. ★★★ 슬라이스
배열을 사용할 때 a = [1, 2, '1'] 배열은 [ ] 으로 선언한다. 배열 관련해서 많이 사용하는 스킬이 있다. range는 0부터해서 10까지 반복시키는 수를 만든다. range(시작 수, 끝나는 수, 증가 수) b = list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b = list(range(5, 10)) [5, 6, 7, 8, 9] b = list(range(5, 10, 2)) [5, 7, 9] c = list(range(10, 0, -1)) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 추가적으로 역순도 역순도 가능하다. tuple list와 동일하게 배열의 기능을 갖고 있다. 단, 변경이 될 수 없는 배열이다. 튜플의 선언은 () 으로 한다...
1 == 1.0 True 1 is 1.0 False 1 is not 1.0 True ==, !=는 값을 비교한다. is, is not은 객체를 비교한다. id( 변수명) : id의 주소값을 출력한다. a=3, b=3 a is b = True a=3, b=4 a is b = False 비교 연산자 A = True B = False A and B = False A or B = True not A = False 문자열 사용하기 '' 이거나 "" 사용해도 상관은 없다. 단, 일관성 있게 사용 할 수 있도록 해야 한다. ''은 한 단어만 묶을 수 있고, ""은 한 문장을 묶는데 사용 하기가 쉽다. ''' 사용할 경우 문자열 처럼 사용 할 수가 있다. 단, 띄어 쓰기 사용 할 경우 사이에 \n이 들어간다. a = ..
자바에서 배열을 정렬할 때 java.util.Arrays 클래스의 sort() 메소드를 이용하면 된다. 오름차순 int[] arr = {1, 2, 5, 2, 1, 5}; Arrays.sort(arr); 어떤 난잡한 배열 규칙이더라도, 한 번에 오름차순으로 정렬이 된다. 내림차순 Integer[] arr = {1, 2, 5, 2, 1, 5}; Arrays.sort(arr,Collections.reverseOrder()); 그러나 내림차순을 사용하게 된다면 기본 sort 메소드에 java.util.Collections; 를 추가하여야한다. Collections.reverseOrder()는 값을 거꾸로 바꿔주며, 만약 int형을 사용할 경우엔 Integer로 변형시켜줘야한다.
Null 인스턴스가 생성되지 않은 상태이다. List 변수가 메모리에 아무런 주소값도 참조하지 않은 상태이다. isEmpty size() = 0 Java SE 1.6 이상부터 사용이 가능하다. 배열이 생성되었으나, 배열안에 아무것도 없는 상태를 말한다. 객체는 존재하지만, 공백이다.
C언어의 배열 만들기 배열 배열을 만드는 법은 매우 간단합니다. 타입명 변수이름[크기]; 배열의 크기와 타입을 지정하면서 생성합니다.초기값 지정시에는 아래와 같습니다. int numArr[5] = {1,2,3,4,5}; numArr이라는 이름의 배열이 생성이 되면서 1,2,3,4,5 순서로 값이 저장 되었습니다. 배열의 크기 알아보기 배열의 크기를 알기 위해서는 sizeof 라는 함수를 알아봐야합니다.sizeof함수는 메모리 크기를 의미하며.int numArr[5] = {1,2,3,4,5};sizeof(numArr) 입력시 20의 크기를 표현합니다.20 = (int 메모리수) * 배열의 크기 5;그러므로 크기를 알아봐야 할 때에는 아래와 같이 사용하셔야합니다. sizeof(numArr) / sizeof(..
[C언어] 키보드 입력받기 #include 선언 키보드값을 입력 받기 위해서는 반드시 필요한 선언입니다.kbhit(), getch(), GetKeyDown()를 선언하기 위해 필요합니다. _kbhit()kbhit()는 키보드를 누른 여부를 판독합니다.만약 키보드를 눌렀다면 true, 안누르면 false가 발생합니다. hetch()getch()는 키 입력 했을 때의 값을 입력 받습니다. #include #include #define LEFT 75#define RIGHT 77#define UP 72#define DOWN 80// 1. 매크로로 좌우상하를 설정한다. int main(void) { char c; while (1) { if (_kbhit()) { // 2. while문안에서 키보드 눌렸을 시 if..
배열 배열을 이용하여 간단하게 피보라치 수열을 만들자. #include #define N 10 int main(void){int fib[N] = { 0, 1 };int i; // 피보나치 수열 생서아for (i = 2; i < N; i++){fib[i] = fib[i - 1] + fib[i - 2];}// 피보나치 출력printf("피보나치 수 : ");for (i = 0; i < N; i++){printf("%d", fib[i]);printf("\t");}return 0;} 결과값0 1 1 2 3 5 8 13 21 34 10개의 공간을 가진 배열로 피보라치 수열을 만들어보았다. 반복문을 활용해 배열의 공간에 값을 넣은 후, 다시 반복문을 통해 출력을 도왔다.