일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- data type
- 코스모에듀밴처
- python
- pip install
- parameter
- Indentation Error
- 입출력 함수
- 파이썬 문법
- 파이썬 프로그래밍
- 반복문 사용법
- 파이썬 기초
- 슬라이싱(slicing)
- 편집기
- pip 옵션
- 파이썬 강좌
- 알고리즘
- 파이썬
- input 사용법
- 파이썬개발
- 자료형
- 인덱싱(indexing)
- 자료구조
- python -m
- 사용법
- 수학코딩
- PIP
- 코딩
- cosmoeduventure
- 변수
- 알고맂ㅁ
- Today
- Total
아이와 함께 배우는 세상 사는 법
[파이썬 강좌] 3. Python 프로그래밍 기초 : input() 함수 본문
이전 글에서 파이썬의 표준 출력함수 print()에 대해서 알아보았다면,
이번 글에서는 입력 함수인 input() 함수에 대해서 알아보도록 하겠습니다.
input() 함수는 사용자로부터 데이터를 입력받는 파이썬 내장 함수로
print() 함수 보다 구조가 간단하니 사용 방법 위주로 설명을 드리겠습니다.
input() 함수의 기본 구조
input() 함수는 다음과 같이 하나의 입력 파라미터만 있는 간단한 구조로 되어있습니다.
prompt : 사용장에게 보여질 메시지를 설정하는 매개변수(parameter)로 기본값은 "None"으로
설정되어 있어서 해당 매개변수를 설정하지 않으면 메시지가 표지되지 않습니다.
쉽게 생각하면 사용자에게 어떤 종류의 데이터를 입력 받을지 안내하는 메시지 영역으로
생각하시면 됩니다.
input(prompt=None)
input() 함수의 동작 방식
- input() 함수가 실행되면 사용자로부터 입력을 받을 때까지 프로그램을 멈추고 대기합니다.
- 사용자가 데이터를 입력 후 엔터(Enter)키를 누르면, 입려된 데이터를 반환합니다.
- 반환되는 데이터는 문자열 형태로 반환됩니다.(필요에 따라 데이터 타입을 변환하여 사용)
# 사용자에게 "숫자를 입력하세요: "가 표시되고, 사용자가 입력한 문자열을 변환하여 변수 number에 저장
number = input("숫자를 입력하세요: ")
print(number) # 문자열을 출력
print(int(number)) # 정수를 출력
# 입력 : 20
# 결과
"20" # 자료형 : str
20 # 자료형 : int
input() 함수 활용
다음과 같이 문자의 구조를 유지하면서 사용자가 입력 데이터로 문장을 출력하는 방식으로
활용할 수 있습니다. 이러한 것을 문자열 포매팅(string formatting)이라고 합니다.
문자열 포매팅과 관련한 내용은 파이썬 자료형(data type)의 문자열(string)에서 다루도록 하겠습니다.
# 반환되는 문자형 자료를 정수형으로 변화하여 반환
date = int(input("날짜를 입력하세요: "))
# 문자형 자료 반환
day = input("요일을 입력하세요: ")
# 구조화된 문자열 출력
print(f"오늘은 8월 {date}일 {day}요일 입니다.")
# 입력
날짜를 입력하세요: 2
요일을 입력하세요: 화
# 출력
"오늘은 2일 화요일 입니다."
input 함수를 통해서 입력 받은 데이터는 하나의 문자열(string) 데이터로 반환됩니다.
즉, 한번에 여러 개의 변수로 값을 반환할 수 없습니다. 그러나 반환되는 데이터가 문자형이므로
해당 자료형의 split() 매서드(method)를 사용하여 다음과 같이 한번에 여러 개의 값을 입력 받아
서로 다른 변수에 값을 할당할 수 있습니다.
# split() 매서드의 기본값은 " "(공백)
# 입력된 데이터를 공백으로 구분하여 date, day에 값을 할당
date,day = input("날짜와 요일을 입력하세요.ex 2 화 : ").split()
print(f"오늘은 8월 {date}일 {day}요일 입니다.")
# 입력
날짜와 요일을 입력하세요.ex 2 화 : 31 수
# 출력
"오늘은 31일 수요일 입니다."
위 예제의 date에 할당된 31은 숫자가 아닌 문자형 자료입니다. 자료형을 학습하기 전이라
이해가 힘들 수 있겠지만 큰 개념에서 문자와 숫자만 구분하시면 됩니다. 자세한 부분은 자료형
다루도록 하고 지금은 다음과 같이 이해하고 넘어가겠습니다.
date에 저장된 값은 문자형 자료인 "삼십일" 이라고 생각하세요.
만약 정수 여러 개를 한번에 입력을 받아야 한다면 어떻게 해야 될까요?
다음과 같이 map()이라는 함수를 사용하면 됩니다. 어렵나요? 지금은 익숙하지 않아 그런것이
이런 것이구나 하고 눈에만 익히세요.^^
# map()함수로 문자형 데이터를 정수형 데이터로 맵핑
a,b,c = map(int,input("입력 : ").split())
print(a+b+c)
# 입력 : 1 2 3
# 출력 : 6
input()함수의 구조는 간단하지만 데이터를 입력 받아 처리하는 자료 구조에 따라 다양하게
활용할 수 있는 중요한 내장 함수입니다.
이상으로 input()함수까지해서 표준 입출력 함수에 대한 내용은 마무리하겠습니다.
그리고 다음 시간에는 파이썬 자료형에 대해서 함께 알아보도록 하겠습니다.
'파이썬(python) > 문법(syntax)' 카테고리의 다른 글
[파이썬 강좌] 인덱싱(Indexing)과 슬라이싱(Slicing)의 개념과 사용법 (0) | 2024.02.16 |
---|---|
[파이썬 강좌] 4. Python 프로그래밍 기초 : 자료형(data type) (1) | 2024.02.15 |
[파이썬 강좌] 2. Python 프로그래밍 기초 : print() 함수 : (2) | 2024.01.29 |
[파이썬 강좌] 1. Python 프로그래밍 기초 : 변수(variable) (0) | 2024.01.25 |
[파이썬 강좌] Python 프로그래밍 기초 시작하기. (1) | 2024.01.23 |