Download presentation
Presentation is loading. Please wait.
1
Spring, 2019 School of CSE Pusan National University
입력과 출력(Input & Output) Spring, 2019 School of CSE Pusan National University
2
학습목표 Python (형식화된) 출력 함수를 이해한다. Python 입력 함수를 이해한다.
3
Python 출력: print 문자열 "Hello World" 출력하기 print "Hello World" 변수 출력
>>> a = "Python" >>> print a Python a 라는 변수에 "Python"이라는 값을 대입한 다음 print a를 해 주면 a의 값을 출력해 준다.
4
형식지정문자열: 정수 출력 숫자 대입 후 출력 >>> print "I eat %d apples." % 3
I eat 3 apples. 문자열 내에 3이라는 정수 값을 삽입하는 방법을 보여줌. 삽입할 3이라는 정수는 % 문자 다음에 삽입 문자열 내에 3이라는 정수 값을 넣고 싶은 자리에 %d라는 문자를 삽입
5
형식지정문자열: 문자열 출력 문자 대입 후 출력
>>> print "I eat %s apples." % "five" I eat five apples. 문자열 내에 또 다른 문자열을 삽입하기 위해서는 앞서 사용했던 %d 가 아닌 %s를 사용해야 함
6
형식지정문자열: 변수 값 출력 숫자를 변수로 대입 후 출력 >>> number = 3
>>> print "I eat %d apples." % number I eat 3 apples. Number에 3을 대입한 후 출력함
7
형식지정문자열: 여러 변수 출력 문자열 안에 한 개가 아닌 여러 개의 값을 삽입 >>> number = 10
>>> day = "three" >>> print "I eat %d apples. so I was sick for %s days." % (number, day) I eat 10 apples. so I was sick for three days. 두 개 이상의 값을 치환하려면 마지막 % 다음에 ( ) 사이에 콤마로 구분하여 변수를 넣음
8
형식지정문자열 요약 형식지정문자열 뜻 %s %c %d %f %o %x %% 문자열(string)
문자 한 개(character) 정수(integer) 부동소수점수(floating-point number) 8진수(octal number) 16진수(hexadecimal number) 문자 '%' 자체(literal %)
9
강력한 %s %s 형식지정문자열의 특별한 사용 예 >>> print "I have %s apples" % 3
I have 3 apples >>> print "Todays rate is %s" % 3.234 Todays rate is 3.234 3을 문자열 내에 삽입하려면 문자열 내에 %d가 있어야 하고 3.234를 삽입하려면 문자열 내에 %f가 있어야 하지만 %s를 사용하면 이런 것을 생각하지 않아도 된다. 왜냐하면 %s 때문에 변수 값은 자동으로 문자열로 바뀌기 때문이다.
10
%% 사용 예 %% 형식지정문자열의 특별한 사용 예 >>> print "Error is %d%%." % 98
11
출력 폭 지정 및 정렬 우측 정렬 >>> print "%10s" % "hi" hi 좌측 정렬
>>> print "%-10s jane." % 'hi' hi jane. 왼쪽으로 정렬하고 나머지는 공백으로 채웠음을 볼 수 있다.
12
소수점 표현 소수점 이하 조정 >>> print "%0.4f" % 3.42134234 3.4213
를 소수점 4번째까지만 나타냄 '.'의 의미는 소수점 포인트를 말하고 그 뒤의 숫자 4는 뒤에 나올 숫자의 개수를 말한다. '.'앞의 숫자는 출력폭을 말하는 숫자이다. 출력폭 조정과 함께 사용 >>> print "%10.4f" % 위의 예는 라는 숫자를 10개의 문자열 공간에 오른쪽으로 정렬하고 소수점은 4번째 자리까지만 표시한다.
13
문자열 출력: 접합하여 출력 단순 병치(①)와 + 연산자 (②)
>>> print "life" "is" "too short" ① lifeistoo short >>> print "life"+"is"+"too short" ② 따옴표(")로 둘러싸인 문자열은 + 연산과 동일
14
문자열 출력: 띄어쓰기 문자열 띄어쓰기는 콤마로
>>> print "life", "is", "too short" life is too short 콤마(,)를 이용하면 문자열간에 띄어쓰기가 된다. 한 줄에 출력하기 한 줄에 결과값을 계속 출력하려면 print문과 콤마(,)를 함께 사용해야 한다. >>> for i in range(10): ... print i, ...
15
프로그램 동작 원리 우리들이 사용하는 대부분의 프로그램 동작 원리 사용자의 입력에 따라서 그에 맞는 출력값을 생성. 사용 예
게시판에 글을 작성한 후 입력 “확인” 버튼을 누르면 게시판에 글이 등록됨 동작 과정 사용자 입력 처리(프로그램, 함수 등) 출력
16
Python 입력: input input의 사용 >>> a = input()
'Life is too short, you need python' >>> a 3 >>> input은 사용자의 입력을 받는 함수 문자열일 때는 (') 혹은 (")으로 둘러싸서 입력해야 에러가 나지 않는다. 숫자 3은 (') 혹은 (")으로 둘러쌀 필요가 없다.
17
입력 오류 input()이 잘못 사용된 예제 >>> a = input() you need python
Traceback (most recent call last): File "", line 1, in ? File "", line 1 ^ SyntaxError: invalid syntax 위처럼 you need python 을 변수에 입력하듯이 'you need python'처럼 ''로 감싸주지 않았을 때는 에러가 발생함.
18
Python 입력: raw_input raw_input 사용 예 >>> a = raw_input()
Life is too short, you need python >>> a 'Life is too short, you need python' >>> raw_input()에서는 문자열을 입력할 때 (')나 (")을 필요로 하지 않는다. raw_input은 입력되는 모든 것을 문자열로 취급한다.
19
input vs. raw_input input raw_input >>> a = raw_input() 3
즉, 문자열 값을 넣어주려면 따옴표로 감싸주어야 한다. raw_input raw_input은 입력하는 모든 값을 문자열 형으로 보기 때문에 입력에 주의해야 할 필요가 없다. 정수 값을 입력해도 문자열 값으로 변환된다. >>> a = raw_input() 3 >>> a '3' >>>
20
입력 프롬프트 입력 프롬프트란? input과 raw_input의 인수 사용자에게 입력할 내용을 안내해 주는 문구
input(prompt), raw_input(prompt) 사용자로부터 입력을 받을 때 “숫자를 입력하세요.”라든지 “이름을 입력하세요”라는 질문을 포함하고 싶을 것이다. input이나 raw_input이라는 함수에 입력으로 위의 질문을 포함시킬 수가 있다.
21
입력 프롬프트 사용 예 raw_input의 인수를 넣어 보자. #-*- coding: utf-8 -*-
>>> number = raw_input(u"숫자를 입력하세요: “) 숫자를 입력하세요:
22
입력 프롬프트 사용 예 raw_input의 인수를 넣어 보자. #-*- coding: utf-8 -*-
>>> number = raw_input(u"숫자를 입력하세요: “) 숫자를 입력하세요:
23
연습문제 연습문제 raw_input을 이용하여 사용자가 입력한 숫자를 받아 num이라는 변수에 float으로 저장한 후에 num의 내용을 출력하라
24
요 약 Python의 입출력 형식지정문자열 입력 프롬프트 출력: print 입력: input, raw_input
%를 이용하여 출력할 형식을 결정함 출력폭을 지정하거나 정렬 방법을 지정할 수 있음 입력 프롬프트 사용자에게 입력할 내용을 설명해 주는 안내 문구 input과 raw_input의 인수로 지정할 수 있음
Similar presentations