본문 바로가기

Conqueror/Python

(11)
인공 지능 마지막 numpy가 잘 설치되었는지 잘 돌아간다. 그림판을 통해 미리 숫자를 굵은 선으로 그려놓고 저장한 후 인식하는 지 테스트한다. import tkinter as tk import tkinter.filedialog as fd import PIL.Image import PIL.ImageTk # 머신러닝에서 사용하는 모듈 import sklearn.datasets import sklearn.svm import numpy # 이미지 파일을 수치 리스트로 변환한다. def imageToData(filename): # 이미지를 8x8의 그레이스케일로 변환 grayImage=PIL.Image.open(filename).convert("L") grayImage=grayImage.resize((8,8),PIL.Image...
앱 만들기, 인공지능 인공지능을 만들기 위해 교재에서 다운 받으라고 하는 파일이 없어서 너무 당황스러웠다. 그래서 비슷해보이는 것을 클릭해서 다운받았다. (맞는 지는 모름..) 계속 오류가 떠서 구글링 하다가 그냥 '아나콘다'를 설치했다. 아나콘다에 spyder은 있어서 설치했는데 왜 numpy는 없지..? 일단 numpy는 내일 다시 설치해보도록 하자. 머신러닝 ? 사람이 지식을 가르치는 것이 아니라 컴퓨터에게 많은 데이터를 제공해 스스로 학습하게 하는 방법이다. 1. 지도학습 : 데이터를 전달할 때 '문제와 대답의 쌍'을 대량의 특징으로 학습함으로써 '어떤 문제에는 어떤 대답인지' 판단 할 수있다. 2. 비지도학습 : 비슷한 것끼리 그룹화를 하며 특징을 추출하거나 그룹화한다. 3. 강화학습 : 문제와..
앱 만들기 import tkinter as tk -> tkinter 모듈을 tk 라고 부르겠다. root=tk.Tk() -> 창을 만든다. root.geometry("200x100") -> 크기를 지정한다. 만약 많은 것을 나열할 때는 창을 크게 해야 한다. (geometry : 기하학구조) lbl=tk.Label(text="LABEL") -> LABEL btn=tk.Button(text="PUSH") -> 버튼PUSH lbl.pack() btn.pack() -> pack 명령을 실행한 순서대로 위에서부터 배치를 했다. tk.mainloop() -> 만든 화면을 보여준다. def dispLabel(): -> dispLabel 이라는 함수를 만든다. lbl.configure(text="안녕하세요") -> (confi..
함수, import, 앱만들기 시작 함수? 복잡한 프로그램을 심플하게 하기 위해 사용한다. def 함수명() : 함수에서 수행할 처리 함수에서 전달하는 데이터를 '인수' 또는 '파라미터'라고 하며, 함수가 처리한 후에 결과로서 반환되는 값을 '반환값(=리턴값)'이라고 한다. 인수와 반환값이 없는 경우, 인수만 있는 경우, 반환값만 있는 경우, 인수와 반환값이 둘 다 있는 경우 4가지가 있다. 이렇게 함수를 쓰는 경우 편리해지고 프로그램의 의미를 알기 쉬워진다. -> 버그가 적어진다. '프로그램을 나눠서 만듦' 으로써 더 좋은 효과를 얻을 수 있다. 누가 만든 것을 이용할 수 있다. import 모듈명.함수명 모듈을 사용할 때에는 '어디에 있는지'가 중요해진다. 2개의 파일이 각각 다른 폴더에 있으면 import 할 때 찾을 수가 없어서 오..
if 문, for 문 if 조건식 A : 조건식 A일 경우 처리1 elif 조건식 B : 조건식 B일 경우 처리2 else : 어떤 조건도 맞지 않을 때 for 문의 내포를 이중, 삼중, 사중 등으로 겹칠 수 있지만, 반복의 양이 많아지면 처리하는데 시간이 걸린다는 것을 주의하자.
데이터형 변환, 리스트, 프로그램 리스트 ? 데이터가 많을 때에 리스트의 개념을 사용한다. '이름'이 아닌 '번호' 리스트 하나하나의 값을 '요소'라고 하며, 지정하는 번호를 '인덱스'라고 한다. 인덱스는 0부터 시작한다. 리스트명 = [ 요소1, 요소2, 요소3 ˙˙˙] -> 리스트를 만든다. print(리스트명[인덱스]) -> 리스트의 요소를 표시한다. 예시를 들어보자, lunch = ["한식","양식","중식"] print(lunch[2]) >> 중식 여기서 '한식은 0, 양식은 1, 중식은 2'가 된다. 저번에 사용했던 jebi 의 경우, col 을 사용한 경우를 참고해도 좋다. 순차 + 분기 + 반복 -> 조합 -> program 순차 ? 처리의 순서 분기 ? 맞는지, 안맞는지 정확히 판단한다. ( 애매한 부분이 없다. ) if..
RANDOM, 변수와 데이터, 문자열 for i in range(5): -> 5번을 반복한다 ( i=index ) color(col[i]) -> 선의 색을 주어진 색의 차례대로 바꾼다. 차례대로가 아닌 무작위로 색을 지정할 수 있을까? import random -> random 라이브러리를 사용하겠다. for i in range(5): -> 나는 여기에 나오는 i 는 사용하지 않겠다. a=random.randint(0,4) -> python random 라이브러리를 찾아보다가 *randint 함수를 찾았다. * rand**int ? 2개의 숫자 사이의 랜덤으로 정수를 리턴한다. 나는 (0,4)를 지정했기 때문에 0,1,2,3,4 의 숫자를 무작위로 꺼내준다. 찾아보다보니 실수도 포함시키는 함수도 있었다. 처음에는 여기서 궁금했던게 randi..
TURTLE 여기서 중요한 부분은 for을 쓰면 띄어쓰기(인덴트)를 꼭 해야한다. -> 문법 파이썬은 친절하게 자동으로 해준다. 구글링을 하다가 나는 from turtle import* 이렇게 시작을 했는데, 다른사람들은 그냥 import 로 시작하고 import turtle as t (엔터) t.~~ (엔터) t.~~ 이렇게 이어갔다. 여기서 알았던 부분은 * 이렇게 별로 표시하는 부분이 "난 전체적으로 turtle 라이브러리를 쓸거야 !!!" 인 것 같다. * 로 표시하고 시작하면 turtle을 하나하나 붙이거나 turtle as t 앞으로 거북이는 편하게 t 오키? 이렇게 해서 t.~~ 이렇게 안써도 된다는 점이다. 그렇다면 둘의 차이점은 뭘까? 계속 찾아보니 from으로 시작하면 별명을 쓸수 있다는 것 같은데..