반응형
python의 사용자 입력받기 (input 함수, 자료형 별 입력 받기)
python project 시작 시 기본이 되는 사용자 입력을 받는 방법을 정리한다.
기본적으로 아래와 같이 input 함수를 사용하여 받을 수 있다.
val = input()
print(val)
사용자 입력 시 아래와 같이 문구를 넣어 출력할 수 있다.
val = input("입력값: ")
print(val)
이제 각 자료형 별 입력을 받는 방법을 알아보자.
기본적으로 input은 string 형태로 입력을 받는다.
val = input("input string val: ")
print("type1: " + str(type(val)))
실행결과
input string val: abc
type1: <class 'str'>
integer형으로의 변환은 int()를 사용한다.
# val2 = input("input integer val: ")
# val2 = int(val2)
val2 = int(input("input integer val: "))
print("type2: " + str(type(val2)))
실행결과
input integer val: 123
type2: <class 'int'>
float형으로의 변환은 float()를 사용한다.
# val3 = input("input float val: ")
# val3 = float(val3)
val3 = float(input("input float val: "))
print("type3: " + str(type(val3)))
실행결과
input float val: -1
type3: <class 'float'>
두개의 입력을 한번에 받으려면 split()을 사용한다.
아래와 같이 변수 두개를 콤마(,)로 선언하여 받을 수 있으며, 사용자 입력 시 에는 띄어쓰기(스페이스)로 data를 구분하여 받는다. 이를 원하는 data 형태로 형변환 하여 사용할 수 있다.
val4, val5 = input("input integer & float val: ").split()
val4 = int(val4)
val5 = float(val5)
print("type4: " + str(type(val4)))
print("type5: " + str(type(val5)))
실행결과
input integer & float val: 123 -1
type4: <class 'int'>
type5: <class 'float'>
다음은 eval()을 이용하여 tuple 형태의 data를 입력받는다.
eval()을 이용하여 int, float형태의 data도 전달 받을 수 있지만 아래와 같이 (1,2)와 같은 형태의 tuple도 전달 받을 수 있음을 보여준다.
# val6 = input("input eval (tuple) val: ")
# val6 = eval(val3)
val6 = eval(input("input eval (tuple) val: "))
print("type6: " + str(type(val6)))
실행결과
input eval (tuple) val: (1,2)
type6: <class 'tuple'>
이번엔 eval()을 이용하여 list 형태의 data를 입력받는다.
list의 data 형태인 [1,2,3]을 입력받아본다.
# val7 = input("input eval (list) val: ")
# val7 = eval(val5)
val7 = eval(input("input eval (list) val: "))
print("type7: " + str(type(val7)))
실행결과
input eval (list) val: [1,2,3]
type7: <class 'list'>
전체 코드와 실행결과는 아래와 같다.
def inputTest():
print("input test")
# ex) abc
val = input("input string val: ")
print("type1: " + str(type(val)))
# ex) 123
# val2 = input("input integer val: ")
# val2 = int(val2)
val2 = int(input("input integer val: "))
print("type2: " + str(type(val2)))
# ex) -1
# val3 = input("input float val: ")
# val3 = float(val3)
val3 = float(input("input float val: "))
print("type3: " + str(type(val3)))
# # ex) abc / 123 / -1
val4, val5 = input("input integer & float val: ").split()
val4 = int(val4)
val5 = float(val5)
print("type4: " + str(type(val4)))
print("type5: " + str(type(val5)))
# # ex) (1,2)
# val6 = input("input eval (tuple) val: ")
# val6 = eval(val3)
val6 = eval(input("input eval (tuple) val: "))
print("type6: " + str(type(val6)))
# # ex) [1,2,3]
# val7 = input("input eval (list) val: ")
# val7 = eval(val5)
val7 = eval(input("input eval (list) val: "))
print("type7: " + str(type(val7)))
inputTest()
실행결과
input test
input string val: abc
type1: <class 'str'>
input integer val: 123
type2: <class 'int'>
input float val: -1
type3: <class 'float'>
input integer & float val: 123 -1
type4: <class 'int'>
type5: <class 'float'>
input eval (tuple) val: (1,2)
type6: <class 'tuple'>
input eval (list) val: [1,2,3]
type7: <class 'list'>
반응형
'python' 카테고리의 다른 글
[python] 파이썬 산술 연산자 (0) | 2021.11.29 |
---|---|
[python] 파이썬 time / timeit 사용법 (0) | 2021.05.27 |
[python] 파이썬 문자열 치환 (replace & sub & subn) (0) | 2021.02.01 |
[python] 파이썬 requests 모듈 사용 (0) | 2020.12.18 |
[python] 파이썬 실시간 검색어 크롤링 (0) | 2020.12.17 |
댓글