상세 컨텐츠

본문 제목

[ Python 기초 문법 ] - 프로그램 입출력(2) - 사용자 입출력

Language/Python

by bing_su 2023. 8. 21. 02:36

본문

반응형
SMALL

대부분의 사람들이 사용하는 완성된 프로그램은 사용자가 입력하는 값에 따라 그에 맞는 출력을 내보낸다. 대표적인 예시로 게시판에 글을 작성한 후 '확인' 버튼을 눌러야(입력) 우리가 작성한 글이 게시판에 올라가는(출력) 것을 생각할 수 있다.

프로그램에서의 입출력 예시

앞서 우리는 함수 부분에서 입출력이 어떠한 의미를 가지는 지에 대해 살펴봤다. 지금부터는 조금 더 다양한 입출력 방식에 대해 살펴볼 예정이다.

[ 사용자 입력 - input 함수 ]

사용자가 입력한 값을 변수에 저장하고 싶을 때 input 함수를 사용할 수 있다. 단, input 함수는 사용자가 입력하는 모든 값을 문자열로 취급한다.

>>> a = input()  # 사용자가 입력한 값을 a 변수에 대입.
Life is too short, you need python  # 사용자 입력 값
>>> a
'Life is too short, you need python'  # 문자열 형태로 입력 값이 저장됨.

※ 프롬프트 값을 띄워서 사용자에게 입력받기

실습 때도 잠깐 살펴봤지만, 프로그램을 실행하다 보면 "Enter a number: "와 같은 문구가 먼저 출력된 후 사용자의 입력을 받는 경우를 본 적이 있을 것이고, 이러한 질문이 보이게 하고 싶을 때도 있을 것이다. 그때, 아래와 같이 input() 함수의 괄호 안에 질문을 입력하고 프롬프트를 띄우면 된다.

input("Prompt contents")

아래의 예시를 통해 더 자세히 살펴보자.

>>> name = input("Enter your name: ")  # input 함수 내부에 원하는 프롬프트 삽입
Enter your name: sooob  # 프롬프트에 출력된 질문 / 답변 'sooob'으로 입력함.
>>> print(name)
sooob  # 변수 name에 저장된 문자열 출력.

이름을 입력하라는 프롬프트에 'sooob'을 입력하면 변수 name에 sooob 값이 대입된다. 이후 print 함수를 이용해 name 변수를 출력하면 대입되어 있던 'sooob'이 출력된다.

※ input 함수로 입력받은 값을 정수로 인식시키는 방법

input 함수는 사용자가 입력한 모든 값을 '문자열'로 인식한다. 하지만, 입력 받은 변수 값을 숫자로 저장하고 싶을 때는 아래와 같이 int 함수를 사용하면 된다.

''' int 함수를 사용했을 때 '''
>>> x = int(input("Enter a number: "))  # 입력 받은 값을 정수형으로 변환.
Enter a number: 100  # 입력 값: 100
>>> print(x)
100
>>> type(x)  # x의 자료형 조사
<class 'int'>  # 숫자형(정수형)

''' int 함수를 사용하지 않았을 때 '''
>>> x = input("Enter a number: ")  # 입력 받은 값은 문자열로 그대로 저장.
Enter a number: 100
>>> print(x)
100
>>> type(x)  # x의 자료형 조사
<class 'str'>  # 문자열

추후에 자세히 다룰 예정이지만 간단하게만 설명하자면, int 함수는 다른 자료형을 정수 형태로 반환하는 함수다. 단, 정수를 입력받으면 그대로 돌려준다.

[ print 자세히 알기 ]

지금까지 우리는 우리가 입력한 자료형을 출력하는 print를 사용했다. print문의 사용 예시는 아래와 같다.

# 숫자형 출력
>>> a = 123
>>> print(a)
123
# 문자열 출력
>>> a = "Python"
>>> print(a)
Python
# 리스트 출력
>>> a = [1, 2, 3]
>>> print(a)
[1, 2, 3]

이렇게 사용해 온 print문을 아래와 같이 다양하게 사용할 수 있다.

- 큰따옴표(")로 둘러싸인 문자열은 + 연산과 동일하다.

>>> print("Life" "is" "too short")  # 1
Lifeistoo short
>>> print("Life"+"is"+"too short")  # 2
Lifeistoo short

위의 코드에서 #1, #2 코드는 동일한 결과를 출력한다. 즉, 따옴표로 둘러싸인 문자열을 연속해서 쓰면 문자열에서 쓰이는 '+' 연산을 한 것과 같다.

- 문자열 띄어쓰기는 콤마로 한다.

>>> print("Life", "is", "too short")
Life is too short

콤마(,)를 사용하면 문자열 사이에 띄어쓰기를 할 수 있다.

- 한 줄에 결괏값 출력하기

for문을 다룰 때 살펴봤던 것처럼 한 줄에 결괏값을 계속 이어서 출력하려면 end parameter를 지정하면 된다. 다시 설명하자면, 파이썬의 print 함수는 끝 문자를 지정하는 매개변수인 end parameter가 개행 문자(\n)로 지정되어 있다. 즉, print 함수가 한 번 실행되면 자동으로 개행이 되는 구조다. 이러한 end parameter를 아래와 같이 end = ' ' 꼴로 지정하면 end parameter가 공백(spacebar)으로 바뀌기 때문에 print 함수가 실행될 때마다 띄어쓰기가 한 칸씩 되어 한 줄에 모든 결과가 출력될 수 있다.

for i in range(10):
    print(i, end=' ')  # end parameter를 ' '(spacebar)로 지정

# 출력 화면
1 2 3 4 5 6 7 8 9
반응형
LIST

관련글 더보기

댓글 영역