[파이썬] input 함수 입력 조건(리스트 포함) 기본 사용법
프로그램을 만들 때 사용자와 상호작용을 하기위해 사용자부로터 입력을 요청할 수 있습니다.
가령, 아이디와 비밀번호를 입력받은 후 로그인처리를 할 수 있습니다.
파이썬에서는 사용자가 입력할 수 있는 기능을 구현을 할 수 있도록 input()함수를 제공하고 있습니다.
참고사항으로, 파이썬 스크립트에서 input()함수가 실행되면 사용자가 입력할 때까지 프로그램의 흐름이 중지됩니다.
input 기본 사용법
val = input("아무거나 입력하세요:") print(f'입력된 값: {val}\t\t\t입력된 값의 자료형: {type(val)}') #실행결과 아무거나 입력하세요:4 입력된 값: 4 입력된 값의 자료형: <class 'str'> 아무거나 입력하세요:한글 입력된 값: 한글 입력된 값의 자료형: <class 'str'>
input()함수는 기본적으로 입력받은 값을 문자열(str)로 처리합니다.
숫자를 입력해도 문자열이 되기 때문에 정수형 자료형으로 형변환(int(val)을 하거나 입력받을 때부터 정수형으로 입력받도록 해야합니다.
문자열을 정수로 형변환하기 위해서는 int()함수를 사용합니다.
반대로 숫자를 문자열로 형변환하기위해서는 str()함수를 사용합니다.
파이썬 실수형(float)으로 입력 받는 방법
float()함수를 사용하여 input()함수를 감싸주면 됩니다.
val = float(input("아무거나 입력하세요:")) print(f'입력된 값: {val}\t\t\t입력된 값의 자료형: {type(val)}') #실행결과 아무거나 입력하세요:3.52 입력된 값: 3.52 입력된 값의 자료형: <class 'float'> 아무거나 입력하세요:3 입력된 값: 3.0 입력된 값의 자료형: <class 'float'>
파이썬 정수형 타입(숫자만)으로 입력 받는 방법
int()함수를 사용하여 input함수를 묶어줍니다.
val = int(input("아무거나 입력하세요:")) print(f'입력된 값: {val}\t\t\t입력된 값의 자료형: {type(val)}') #실행결과 아무거나 입력하세요:3 입력된 값: 3 입력된 값의 자료형: <class 'int'>
만약 사용자가 문자를 입력하게되면 오류가 발생됩니다.
a라는 알파벳을 입력한 결과입니다.
invalid literal for int() with base 10:’a’
아무거나 입력하세요:a Traceback (most recent call last): File "C:\python\Workspace\main.py", line 1, in <module> val = int(input("아무거나 입력하세요:")) ValueError: invalid literal for int() with base 10: 'a'
파이썬 입력값 분리하는 기준을 공백에서 다른 것으로 변경
split()를 사용하여 여러개의 값을 입력받을 때 , 원하는 분리 기준자를 설정할 수 있습니다.
val1, val2 = input("아무거나 입력하세요:").split(",") print(f'입력된 값: {val1}\t\t\t입력된 값의 자료형: {type(val1)}') print(f'입력된 값: {val2}\t\t\t입력된 값의 자료형: {type(val2)}') #실행결과 아무거나 입력하세요:10 22, hello world 입력된 값: 10 22 입력된 값의 자료형: <class 'str'> 입력된 값: hello world 입력된 값의 자료형: <class 'str'>
실행결과는 입력값 분리 기준을 콤마(,)로 하였기 때문에 입력된 값에 공백이 있어도 하나의 문장으로 인식하게됩니다.
파이썬 한 번에 여러개의 입력을 받는 방법
한번에 여러개의 input값을 받기 위해서 파이썬에서는 split()함수를 사용합니다.
입력할때 공백을 주면 여러개 입력된 것으로 간주합니다.
val1, val2 = input("아무거나 입력하세요:").split() print(f'입력된 값: {val1}\t\t\t입력된 값의 자료형: {type(val1)}') print(f'입력된 값: {val2}\t\t\t입력된 값의 자료형: {type(val2)}') #실행결과 아무거나 입력하세요:10 ab 입력된 값: 10 입력된 값의 자료형: <class 'str'> 입력된 값: ab 입력된 값의 자료형: <class 'str'>
2개의 값을 입력받지만 그 이상 혹은 그 이하를 입력하는 경우 오류가 발생됩니다.
ValueError: too many values to unpack (expected 2)
아무거나 입력하세요:30 ab30 505 Traceback (most recent call last): File "C:\python\Workspace\main.py", line 1, in <module> val1, val2 = input("아무거나 입력하세요:").split() ValueError: too many values to unpack (expected 2) Process finished with exit code 1
ValueError: not enough values to unpack (expected 2, got 1)
아무거나 입력하세요:21 Traceback (most recent call last): File "C:\python\Workspace\main.py", line 1, in <module> val1, val2 = input("아무거나 입력하세요:").split() ValueError: not enough values to unpack (expected 2, got 1)
파이썬 input을 리스트(list)로 데이터를 입력 받는 방법
input_list = [x for x in input("아무거나 입력하세요(입력 구분자: 콤마(,)) :").split(",")] print(f'입력된 값: {input_list}\t\t\t입력된 값의 자료형: {type(input_list)}') #실행결과 아무거나 입력하세요(입력 구분자: 콤마(,)) :hello, world, hello world, 1 입력된 값: ['hello', ' world', ' hello world', ' 1'] 입력된 값의 자료형: <class 'list'>
파이썬 여러개의 input을 튜플(tuple) 자료형으로 데이터를 입력 받는 방법
input_tuple = tuple(int(x) for x in input("아무거나 입력하세요(입력 구분자: 콤마(,)) :").split(",")) print(f'입력된 값: {input_tuple}\n입력된 값의 자료형: {type(input_tuple)}') #실행결과 아무거나 입력하세요(입력 구분자: 콤마(,)) :1,2,3,4,5 입력된 값: (1, 2, 3, 4, 5) 입력된 값의 자료형: <class 'tuple'>
[연관 태그]
#파이썬 input#,#파이썬 리스트 input#,#파이썬 input 리스트 #,# 파이썬 input 조건 #,# 파이썬 input()#, #python input 숫자 #, # 파이썬 INPUT 조건 #, # 파이썬 input 범위 #, # 파이썬 input 자료형 #, # 파이썬 스크립트 input #, # 파이썬 여러 개 입력받기 #, # 파이썬 여러개 input #, # 파이썬 조건 #, # input 숫자만 #, # input 여러개 #, # input 파이썬 #, # python input file #, # python input to tuple #, # python input값 체크 #, # python 데이터 여러라인 입력#