Microsoft PowerPoint Python-Function.pptx

Similar documents
Week13

Microsoft PowerPoint Python-TextData.pptx

순서 OAuth 개요 OAuth 1.0 규격 OAuth 2.0 규격

Microsoft PowerPoint 세션.ppt

윈도우즈프로그래밍(1)

중간고사

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - 05장(함수) [호환 모드]

금오공대 컴퓨터공학전공 강의자료

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

17장 클래스와 메소드

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - 15-MARS

슬라이드 1

Microsoft PowerPoint - 09-CE-5-윈도우 핸들

C++ Programming

Microsoft PowerPoint 웹 연동 기술.pptx

슬라이드 1

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

歯MW-1000AP_Manual_Kor_HJS.PDF

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

C 프로그래밊 개요

슬라이드 1

슬라이드 1

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - C++ 5 .pptx

11장 포인터

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

JVM 메모리구조

3장 함수

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Web Scraper in 30 Minutes 강철

Microsoft Word - FunctionCall

쉽게 풀어쓴 C 프로그래밍

C 언어 프로그래밊 과제 풀이

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

Data Structure

제 31회 전국 고교생 문예백일장 산문 부문 심사평.hwp

쉽게 풀어쓴 C 프로그래밍

Index

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - chap-03.pptx

Polly_with_Serverless_HOL_hyouk

PowerPoint Template

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

12. OAuth 2.0 으로사용자관리하기 12.1 들어가며 대부분의회사나조직은직원과고객데이터베이스를가지고있습니다. 쓰리래빗츠를도입하면 일부데이터베이스를이중으로관리해야하는불편함에직면합니다. 이문제를해결하기위해서 쓰리래빗츠는 OAuth 2.0 으로사용자를관리하는기능을제공

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

PowerPoint Presentation

Microsoft PowerPoint - chap01-C언어개요.pptx

쿠폰형_상품소개서

Microsoft PowerPoint PythonGUI-socket

chap x: G입력

슬라이드 1

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

슬라이드 1

Facebook API

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

PowerPoint Presentation

TIMELINE 독창적인 아이템의 완성은, 아프리카TV BJ 활동에서 STATE 6월 팀 빌딩 2013년 10월 카이트창업가재단 투자 0.5억 원 엔젤투자매칭펀드 0.5억 원 노바토 설립 직원 5명 2013년 9명 2014년 1일 평균 메시지 발생 건수 2014년 10

PowerPoint Presentation

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PowerPoint 프레젠테이션

특허청구의 범위 청구항 1 게임 서버 또는 미들웨어에 의해, 사용자 단말기로부터, GPS 정보, IP 정보, 중계기 정보 중 적어도 하나를 이 용한 위치 정보와, 상기 사용자 단말기에 설정된 언어 종류를 포함하는 사용자 정보를 수신하는 단계; 상기 게임 서버 또는 미들

PowerPoint 프레젠테이션

Microsoft PowerPoint Python-WebDB

Frama-C/JESSIS 사용법 소개

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint PythonGUI-sprite

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

Microsoft PowerPoint - 6-PythonGUI-sprite

Microsoft PowerPoint Python-DB

2002년 2학기 자료구조

PowerPoint 프레젠테이션

Microsoft Word _mentor_conf_output5.docx

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

Microsoft PowerPoint - 2-Objective-C 기초

PowerPoint Template

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

2010 차이나 퍼즐

untitled

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

슬라이드 1

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

문서의 제목 나눔고딕B, 54pt

PowerPoint 프레젠테이션

Transcription:

: 같은코딩을두번하지맙시다. 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 프로그램이커질수록코드는복잡 복잡한코드는읽기도어렵고유지보수도어려움 함수 (function) 를사용하여복잡함을관리 함수는코드덩어리로프로그램안에서필요할때사용 코드의재사용이편리 함수는공통된행위를따로분리 코드를더읽기쉽고관리하기좋게만듦 유지보수 (maintenance) 가편리 순천향대학교컴퓨터공학과 2

스타버즈코드에옵션추가 매장에서원두가떨어지는경우에현재가격에관계없이즉시주문하는옵션을추가 새프로그램은두가지옵션제공 첫번째옵션은커피원두가격이떨어질때까지기다림 두번째옵션은긴급주문으로현재가격을화면에바로보여줌 두옵션모두현재의가격정보가필요함 현재가격정보를얻는코드를두번작성하지함수로작성 필요할때마다함수를재사용 ( 호출 ) 파이썬함수는 def 키워드를사용 순천향대학교컴퓨터공학과 3 기존스타버즈코드 import urllib.request import time price = 99.99 while price > 4.74: time.sleep(900) page = urllib.request.urlopen(" http://cs.sch.ac.kr/pricesloyalty.py") text = page.read().decode("utf8") where = text.find(">$") start_of_price = where + 2 end_of_price = start_of_price + 4 price = float(text[start_of_price: end_of_price]) print("buy!") 순천향대학교컴퓨터공학과 4 가격정보코드, 재사용되는코드

원두가격출력함수예 1 [ 실습 1] import urllib.request def get_price(): # 함수정의 page = urllib.request.urlopen(" http://cs.sch.ac.kr/pricesloyalty.py") text = page.read().decode("utf8") where = text.find(">$") start_of_price = where + 2 end_of_price = start_of_price + 4 print(text[start_of_price: end_of_price]) get_price() # 함수호출 순천향대학교컴퓨터공학과 5 시험주행 함수에서가격정보를출력하지않고가져오는방법은? 순천향대학교컴퓨터공학과 6

원두가격출력함수예 2 [ 실습 2] import urllib.request def get_price(): # 함수정의 page = urllib.request.urlopen(" http://cs.sch.ac.kr/pricesloyalty.py") text = page.read().decode("utf8") where = text.find(">$") start_of_price = where + 2 end_of_price = start_of_price + 4 return text[start_of_price: end_of_price] # 가격을반환 price = get_price() print(price) # 함수호출 순천향대학교컴퓨터공학과 7 import 프러그래밍 urllib.request 기초 import time 스타버즈코드 : 긴급주문옵션 [ 실습 3] def get_price(): # 함수정의 page = urllib.request.urlopen("http://cs.sch.ac.kr/prices-loyalty.py ") text = page.read().decode("utf8") where = text.find(">$") start_of_price = where + 2 end_of_price = start_of_price + 4 return float(text[start_of_price: end_of_price]) # 가격을숫자로반환 price_now = input("do you want to see the price now (Y/N)? ") if price_now == "Y": print(get_price()) # 가격을호출하여출력 else: price = 99.99 while price > 4.74: time.sleep(900) price = get_price() # 함수호출 print("buy!") 순천향대학교컴퓨터공학과 8

시험주행 순천향대학교컴퓨터공학과 9 스타버즈 CEO 추가요구 CEO 는가격이휴대폰으로전송되기를원함 외근중일때가격정보를트위터계정으로받기를원함 순천향대학교컴퓨터공학과 10

트위터전송을위한작업 1. 트위터계정을만듬 http://twitter.com 2. 트위터에애플리케이션을등록 http://dev.twitter.com/apps 소비자키와비밀번호, 접근키와비밀번호복사 OAuth 표준애플리케이션인증방식 3. 트위피라이브러리설치 4. 스타버즈소스코드수정 등록된애플리케이션소비자키와비밀번호, 접근키와비밀번호를삽입 트위피라이브러리사용하여트위터에메시지전송 순천향대학교컴퓨터공학과 11 트위터애플리케이션등록 - 로그인 순천향대학교컴퓨터공학과 12

애플리케이션등록 새로운애플리케이션생성 순천향대학교컴퓨터공학과 13 애플리케이션생성 (1) 순천향대학교컴퓨터공학과 14

애플리케이션생성 (2) 순천향대학교컴퓨터공학과 15 애플리케이션생성 (3) 순천향대학교컴퓨터공학과 16

애플리케이션퍼미션설정 순천향대학교컴퓨터공학과 17 보충학습 OAuth 인증소개 OAuth (Open standard for Authorization) 인증 OAuth 인증은소비자가별도의인증 ( 사용자 ID, 비밀번호등 ) 없이서비스제공자의보호된자원에접근을허가하는인증방식 주요용어 사용자 (user): 서비스제공자와소비자를사용하는계정을가지고있는개인 소비자 (consumer): 사용자를대신하여서비스공급자에접근하는웹사이트또는애플리케이션 ( 프로그램 ) 서비스제공자 (service provider): OAuth 를통해접근을허용하는웹애플리케이션 (SNS, 포털 ), 예 ) facebook, twitter, daum, naver 등 소비자키 (consumer key): 서비스제공자에게소비자자신임을인증하기위한키 소비자비번 (consumer secret): 소비자의소비자키소유권한이있는지인증하기위한키 접근토큰 (access token): 소비자가사용자의서비스제공자의비밀번호를사용하지않고사용자를대신해서접근하기위해서사용하는값 접근토큰비번 (access token secret): 접근토큰이사용자의것임을인증하기위한값 순천향대학교컴퓨터공학과 18

애플리케이션접근토큰생성 (1) 순천향대학교컴퓨터공학과 19 애플리케이션접근토큰생성 (2) 순천향대학교컴퓨터공학과 20

애플리케이션접근토큰생성 소비자키 (3) 순천향대학교컴퓨터공학과 21 애플리케이션접근토큰생성 접근키 (4) 순천향대학교컴퓨터공학과 22

트위피 (Tweepy) 라이브러리설치 트위피라이브러리모듈은파이썬으로트위터접속을지원하는라이브러리 PyPI (Python Package Index) 를사용하여설치 PyPI 는파이썬모듈을제공하는중앙저장소 (repository) https://pypi.python.org/pypi C: > python m pip install tweepy 순천향대학교컴퓨터공학과 23 스타버즈코드 : 트위터접속 [ 실습 5] import tweepy import time import urllib # 트위피라이브러리사용하여트위터에메시지전송하는함수 def send_to_twitter(msg): CONSUMER_KEY = 'TlcvCB9***********UAMdYFRm' CONSUMER_SECRET = 'ecwtlw6gf4****************znklvy0q Sb4G91' ACCESS_KEY = '4*****************R6CHlgk0xH2jrDba72FFOOytD' ACCESS_SECRET = 'Vh************************5sy3hFsQDHqb7' auth = tweepy.oauthhandler(consumer_key, CONSUMER_SECRET) auth.set_access_token(access_key, ACCESS_SECRET) api = tweepy.api(auth) api.update_status(msg) 순천향대학교컴퓨터공학과 24

def 프러그래밍 get_price(): 기초 page = urllib.request.urlopen("http://cs.sch.ac.kr/prices-loyalty.py ") text = page.read().decode("utf8") where = text.find('>$') start_of_price = where + 2 end_of_price = start_of_price + 4 return float(text[start_of_price:end_of_price]) price_now = input("do you want to see the price now (Y/N)? ") if price_now == "Y": msg = "Buy now!, price $" + str(get_price()) send_to_twitter(msg) else: price = 99.99 while price > 4.74: time.sleep(900) price = get_price() msg = "Buy!, price $" + str(price) send_to_twitter(msg) 순천향대학교컴퓨터공학과 25 시험주행 순천향대학교컴퓨터공학과 26

프로그래밍도구상자 (1) 프로그래밍도구 함수를사용하여코드를반복해서작성하지않음 인자는함수에전달되는변수 함수는값을반환 컴퓨터는스택프레임을사용하여변수를기록하고추적 함수를호출하면함수가사용할수있도록새로운스택프레임을만듬 함수의실행이끝나면스택프레임과지역변수는제거 코드가변수를볼수있다면그변수는범위안에있다고함 순천향대학교컴퓨터공학과 27 프로그래밍도구상자 (2) 파이썬도구 def를사용하여함수를생성 return() 을사용하여함수를호출한코드로값을전달 괄호안에인자를넣어서함수에전달 순천향대학교컴퓨터공학과 28

보충학습 누적덧셈함수 [ 실습 4] 1 장의누적덧셈을함수로작성 def add(n): number = 1 sum = 0 while number <= n: sum = sum + number number = number + 1 return sum print("---- add(10)") print(add(10)) print("---- add(100)") print(add(100)) 순천향대학교컴퓨터공학과 29 시험주행 순천향대학교컴퓨터공학과 30

보충학습 재귀함수 재귀함수 (recursion) 자기자신의함수를호출하는함수 재귀함수작성시자기자신으로무한히반복되지않도록작성 # 재귀함수수준을제어하는예 def f(level): # 현재의수준을출력 print("recursion call, level",level) # 수준 10 을넘어서지않으면 if level < 10: # 수준을증가시키고자신의함수를호출 f(level+1) # 수준 1 에서재귀함수호출 f(1) 순천향대학교컴퓨터공학과 31 보충학습 재귀함수, 누적덧셈 [ 실습 4] 누적덧셈 sum(n) = 1 + 2 + 3 + + (N-1) + N = sum(n-1) + N 재귀적정의 1, if N=1 sum(n-1) + N, if N > 1 def sum(n): if (n == 1): return 1 else: return sum(n-1)+n print("---- sum(10)") print(sum(10)) 순천향대학교컴퓨터공학과 32 print("---- sum(100)") print(sum(100))

시험주행 순천향대학교컴퓨터공학과 33 보충학습 재귀함수, 누적덧셈과정 sum(4) 10 sum(3) + 4 6 sum(2) + 3 3 sum(1) + 2 1 1 순천향대학교컴퓨터공학과 34

3 장실습 [ 실습 1] 원두가격출력함수예 1 [ 실습 2] 원두가격출력함수예 2 Python Tutor로도실행 http://www.pythontutor.com/ Online Python Tutor urlopen() 사용하여웹에서가격을가져오지않고, text = 3.74 등으로코드대치 [ 실습 3] 스타버즈코드 : 긴급주문옵션 [ 실습 4] 앞의누적덧셈함수와재귀함수누적뎃셈을작성하고실행과정분석 재귀함수종료조건삭제후에러확인 [ 실습 5] 스타버즈코드 : 트위터접속 을다음과같이수정하여작성하고실행 자신의이름과학번을추가하여예제의트위터로전송 친구의트위터로전송하고, 친구의스마트폰확인캡처순천향대학교컴퓨터공학과 35 3 장과제 1. [ 실습 1] ~ [ 실습 4] 의프로그램작성및실행과정 2. 자신의트위터계정으로애플리케이션을등록하여자신의트위터에 [ 실습 5] 를반복 3. 앞에서배운내용을사용한임의의프로그램작성 프로그램설명 프로그램소스 실행결과 순천향대학교컴퓨터공학과 36