파일 입출력과 그리기.

Slides:



Advertisements
Similar presentations
Python Essential 세미나 1 CGI 프로그램 작성법 발표자 : 박승기 ( 수 )
Advertisements

파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
두근두근 파이썬 수업 7장 프로젝트 I.
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
이 자료는 확인 할 수 있습니다. Python Turtle with 함수 휘문고등학교 컴퓨터부 민경현 이 자료는 확인 할 수 있습니다.
순차, 조건, 반복 이점숙 같은 문제 다르게 해결하기 순차, 조건, 반복 이점숙
두근두근 파이썬 수업 7장 프로젝트 I.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
149개의 실습예제로 배우는 Flash 8.
풀 다운 메뉴 File > New “intent” 이름을 넣고 OK 를 클릭한다.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Image & Video processing
두근두근 파이썬 수업 4장 자료의 종류에는 어떤 것들이 있나요?.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
최윤정 Java 프로그래밍 클래스 상속 최윤정
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
컴퓨터 프로그래밍 기초 [Final] 기말고사
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
7장 배열 ②.
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
10장 함수.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
두근두근 파이썬 수업 13장 객체란 무엇인가요?.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
6장. printf와 scanf 함수에 대한 고찰
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
두근두근 파이썬 수업 7장 코드를 함수로 모아봅시다..
13. 연산자 오버로딩.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
Device Driver 임베디드 시스템 I.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
유승석 FILE I/O File Input/Output 유승석 SD50 – C# & .NET Platform.
영상처리 실습 인공지능연구실.
24장. 파일 입출력.
두근두근 파이썬 수업 1장 파이썬 소개.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
01_ C++ 스타일의 입출력 02_ C 스타일의 입출력
두근두근 파이썬 수업 2장 변수를 소개합니다..
10. 문자열클래스와파일클래스.
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
Python Turtle 민경현.
3D 프린팅 프로그래밍 05 – 반복패턴 만들기 강사: 김영준 목원대학교 겸임교수.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
7주차: Functions and Arrays
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
함수, 모듈.
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
Docker Study 6~7.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
6 객체.
Chapter 11. 문서 인쇄 및 파일 형식.
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
BoardGame 보드게임 따라가기.
20 XMLHttpRequest.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

파일 입출력과 그리기

함수 def hello(): pass def 함수이름(): 코드 #↑ 들여쓰기 4칸 출력(함수 호출) 함수이름() define 빈 함수 만들기

def 함수이름(매개변수1, 매개변수2): 코드 함수이름(값1, 값2) 함수 호출(출력) def 함수이름(매개변수): 함수이름(값1, 값2) 함수 호출(출력) def 함수이름(매개변수): return 반환값 변수=함수이름(값,값) def 함수이름(매개변수): return 반환값1, 반환값2

def 함수이름(매개변수): “””독스트링””” 코드 def 함수이름(매개변수): """ 여러 줄로된 코드 참고: 함수 독스트링 사용하기 def 함수이름(매개변수):      “””독스트링”””   코드   def 함수이름(매개변수):      """     여러 줄로된      독스트링     """      코드 독스트링을 출력하려면 print(함수이름._ _doc_ _)와 같이 함수의 __doc__을 출력

여러가지 매개변수 2. 키워드 인수 사용하기 3.재귀 호출: 함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출 1. 매개변수의 개수를 지정하지 않고 전달: 매개 변수가 튜플형으로 전달 def 함수이름(*매개변수): 코드 2. 키워드 인수 사용하기 def 함수이름(**매개변수): 코드 3.재귀 호출: 함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출

7. from import로 모듈의 일부만 가져오기: 5.패캐지에서 모듈 가져오기: import 패키지.모듈 import 패키지.모듈1, 패키지.모듈2 import 모듈 as 새이름 6.import as로 모듈(패키지) 이름 지정하기: import 패키지.모듈 as 새이름 from 모듈 import 변수 from 모듈 import 함수 from 모듈 import 클래스 from 모듈 import 변수, 함수, 클래스 from 모듈 import * : 모두 다 가져옴 7. from import로 모듈의 일부만 가져오기:

8.패키지의 모듈에서 변수, 함수, 클래스를 가져오는 방법 from 패키지.모듈 import 변수 from 패키지.모듈 import 함수 from 패키지.모듈 import 클래스 from 패키지.모듈 import 변수, 함수, 클래스 from 패키지.모듈 import * 9.from import로 변수, 함수, 클래스를 가져온 뒤 새 이름을 지정 from 모듈 import 변수 as 새이름 from 모듈 import 함수 as 새이름 from 모듈 import 클래스 as 새이름

from import로 변수, 함수, 클래스를 가져온 뒤 새 이름을 지정 from 모듈 import 변수 as 새이름 from 모듈 import 함수 as 새이름 from 모듈 import 클래스 as 새이름 from math import sqrt as s # math 모듈에서 sqrt 함수를 가져오면서 s로 새 이름 지정 >>> s(4.0) # s로 sqrt 함수 사용 2.0 >>> s(2.0) # s로 sqrt 함수 사용 1.4142135623730951

파일 입출력 파일객체 = open(파일이름, 파일모드) 파일객체.write(문자열) 파일객체.close() 파일 입출력의 기본 과정 파일객체 = open(파일이름, 파일모드) 파일객체.write(문자열) 파일객체.close()

파일객체 = open(파일이름, 파일모드) 파일객체.write(문자열) 파일객체.close() file = open('hello.txt', 'w') # hello.txt 파일을 쓰기 모드(w)로 열기. 파일 객체 반환 file.write('Hello, world!') # 파일에 문자열 저장 file.close() # 파일 객체 닫기

파일 모드를 읽기 모드 'r'로 지정 file = open('hello.txt', 'r') # hello.txt 파일을 읽기 모드(r)로 열기. 파일 객체 반환 s = file.read() # 파일에서 문자열 읽기 print(s) # Hello, world! file.close() # 파일 객체 닫기

with as를 사용하면 파일을 사용한 뒤 자동으로 파일 객체를 닫아 줌: close 사용 안함 with open(파일이름, 파일모드) as 파일객체: 코드 with open('hello.txt', 'r') as file: # hello.txt 파일을 읽기 모드(r)로 열기 s = file.read() # 파일에서 문자열 읽기 print(s) # Hello, world!

문자열 여러 줄에 파일에 쓰기, 읽기 리스트에 들어있는 문자열을 파일에 저장: with open('hello.txt', 'w') as file: # hello.txt 파일을 쓰기 모드(w)로 열기 for i in range(3): file.write('Hello, world! {0}\n'.format(i)) 리스트에 들어있는 문자열을 파일에 저장: 파일객체.writelines(문자열리스트) lines = ['안녕하세요.\n', '파이썬\n', '코딩 도장입니다.\n'] with open('hello.txt', 'w') as file: # hello.txt 파일을 쓰기 모드(w)로 열기 file.writelines(lines)

파일의 내용을 한 줄씩 순차적으로 읽으려면 readline을 사용: with open('hello.txt', 'r') as file: # hello.txt 파일을 읽기 모드(r)로 열기 line = file.readline() print(line.strip('\n')) # 파일에서 읽어온 문자열에서 \n 삭제 while line != '': print(line.strip('\n')) # 파일에서 읽어온 문자열에서 \n 삭제

파일객체 = open(파일이름, ‘a’) 파일객체.write(문자열) 파일객체.close() # 입력파일과 출력파일이름을 받는다 outf=open("phone.txt", 'a') outf.write("\n최무선 010-3456-9807") outf.write("\n기선희 010-3789-1237") outf.close()

파일 열기 모드

터틀 그래픽스로 그림 그리기 터틀 그래픽스(Turtle graphics) 모듈을 사용해서 간단한 그림 그리기. 거북이가 기어가는 모양대로 그림을 그린다고 해서 터틀

사각형 그리기 import turtle as t >>> t.shape('turtle') >>> t.right(90) #오른쪽(right)으로 90도 회전 >>> t.forward(100) #100픽셀만큼 앞으로 >>> t.right(90) #오른쪽(right)으로 90도 회전 >>> t.forward(100) ) #100픽셀만큼 앞으로

다각형 그리기 import turtle as t t.shape('turtle') for i in range(4): # 사각형이므로 4번 반복 t.forward(100) t.right(90) import turtle as t t.shape('turtle') for i in range(5): # 오각형이므로 5번 반복 t.forward(100) t.right(360 / 5) # 360을 5로 나누어서 외각을 구함

import turtle as t n = 6 # 육각형 t.shape('turtle') t.color('red') # 펜의 색을 빨간색으로 설정 t.begin_fill() # 색칠할 영역 시작 for i in range(n): # n번 반복 t.forward(100) t.right(360 / n) # 360을 n으로 나누어서 외각을 구함 t.end_fill() # 색칠할 영역 끝

복잡한 도형 그리기 import turtle as t n = 60 # 원을 60번 그림 t.shape('turtle') t.speed('fastest') # 거북이 속도를 가장 빠르게 설정 for i in range(n): t.circle(120) # 반지름이 120인 원을 그림 t.right(360 / n) # 오른쪽으로 6도 회전 >>> import turtle as t >>> t.shape('turtle') >>> t.circle(120)

import turtle as t t.shape('turtle') t.speed('fastest') # 거북이 속도를 가장 빠르게 설정 for i in range(300): # 300번 반복 t.forward(i) # i만큼 앞으로 이동. 반복할 때마다 선이 길어짐 t.right(91) # 오른쪽으로 91도 회전

def screenLeftClick(x,y): global r,g,b myT.pencolor((r,g,b)) import turtle myT=None myT=turtle #함수 선언 def screenLeftClick(x,y): global r,g,b myT.pencolor((r,g,b)) myT.pendown() myT.goto(x,y) #변수 선언 pSize=10 r,g,b=0.0,0.0,0.0 #메인 선언 myT.shape('turtle') myT.title('거북이로 그림그리기') myT.pensize(pSize) myT.onscreenclick(screenLeftClick,1) myT.done()

import turtle #함수 선언 def screenLeftClick(x,y): global r,g,b turtle.pencolor((r,g,b)) turtle.pendown() turtle.goto(x,y) #변수 선언 #myT=None pSize=10 r,g,b=0.0,0.0,0.0 #메인 선언 #메인 선언 #myT=turtle turtle.shape('turtle') turtle.title('거북이로 그림그리기') turtle.pensize(pSize) #for i in range(0,4): #myT.forward(200) #myT.right(90) turtle.onscreenclick(screenLeftClick,1) turtle.done()

import turtle import random myT=None myT=turtle #함수 선언 def screenRightClick(x,y): global r,g,b myT.stamp() tSize=random.randrange(1,10) pSize=random.randrange(1,10) dSize=random.randrange(0,90) myT.shapesize(tSize) myT.pencolor((r,g,b)) myT.color((r,g,b)) myT.pensize(pSize) r=random.random() g=random.random() b=random.random() myT.right(dSize) myT.goto(x,y) #변수 선언 r,g,b=0.0,0.0,0.0 #메인 선언 myT.shape('turtle') myT.title('거북이로 그림그리기') myT.onscreenclick(screenRightClick,3) myT.done()

나무그리기 import turtle def tree(length): if length>5: t.forward(length) t.right(20) tree(length-15) t.left(40) t.backward(length) t=turtle.Turtle() t.left(90) t.color("green") t.speed(1) tree(90)