[Python] Input and Output (입출력)
※ I/O (Input / Output)
- 컴퓨터가 데이터를 입력받고 출력하는 모든 작업
source: https://en.wikiversity.org/wiki/Hardware#/media/File:Computer1.png
■ stdin
- stdin(standard input) : 사용자가 키보드로 입력하는 것
- input() 함수는 입력값을
무조건 string
으로 받음. - type casting을 통해 다른 데이터 타입으로 바꾸어 사용할 수 있음
# 예시
> a = input("숫자를 하나 입력하세요 : ")
> print(a)
# 입력: 숫자를 하나 입력하세요 : 5
> type(a) # <class 'str'>
# type이 string임
# 숫자로 입력받기
> a = int(input("숫자를 하나 입력하세요 : "))
# 입력: 숫자를 하나 입력하세요 : 5
> type(a) # <class 'int'>
□ 여러 개의 숫자를 입력받고자 하는 경우 (입력 format을 알고 있을 때)
- input().split() 이용
- 여러 변수를 입력받고자 하는 경우에는 변수의 숫자에 맞게 입력해야 함
> a = input().split()
# 입력: 5 2 1
> a # ['5', '2', '1']
> type(a) #<class 'list'>
> a, b = input().split(' ')
# 입력: 5,2
> print(a, b)
# 5 2
> a, b = int(a), int(b) # 숫자로 변환해줘야 덧셈이 가능 e.g. a+b
□ List Comprehension을 이용한 stdin
- input값을 리스트 형태로 저장하기
# 일반적인 stdin
> numbers = []
> for num in input().split(','):
numbers.append(int(num))
# List Comprehension을 이용한 stdin
> [int(num) for num in input('숫자를 입력하세요. (띄어쓰기로 구분합니다)').split()]
■ stdout
- stdout(standard out) : 결과를 모니터로 보여주는 것
- print() 함수로 출력할 수 있음
- parameter
- sep: 구분자
- end: default 값은 ‘\n’인데, 줄 바꿈 없이 출력하고자할 때 주로 사용
# 기본 구조
> print(..., sep, end, ...)
# e.g.
> a = 'python'
> print("hello", a, 10/100, sep = "-")
hello-python-0.1> a = 'python'
> print("hello", end =", ")
> print(a, end =", ")
> print(10/100)
hello, python, 0.1
댓글남기기