프로그래밍 언어/Python

[Python] 데이터 여러개 입력 받기 (Input)

ShovelingLife 2023. 12. 13. 20:53

숫자 입력 받기

num = int(input('숫자를 입력해 주세요 : ')) # num 변수에 사용자 입력값을 정수형으로 변환하여 저장
 
코드 실행 시
숫자를 입력해 주세요 :                      # 사용자는 "10"를 입력
 
코드
print(num)
 
결과
10

여러개의 값 입력 받기

코드
st1, st2 = input('문자열을 입력해주세요 : ').split() # 사용자 입력값을 split()(공백)으로 구분하여 st1, st2에 저장
 
코드 실행 시
문자열을 입력해주세요 : 안녕하세요 반갑습니다.             # '안녕하세요 반갑습니다.' 사용자가 입력
# 입력받은 '안녕하세요 반갑습니다.' 문자열을 split()(공백)으로 구분하여 각각 st1, st2에 저장

코드
print(st1 , st2)
print(st1)
print(st2)
 
결과
안녕하세요 반갑습니다.    # st1, st2
안녕하세요             # st1
반갑습니다.            # st2

 

변수 num1과 num2에 숫자를 입력받은 후 연산하기

코드
num1, num2 = int(input('두개의 숫자를 입력해 주세요 : ').split())
 
결과
Traceback (most recent call last):
  File "/Users/ossian/Desktop/Git/Python3/Python_Study.py", line 6, in <module>
    num1, num2 = int(input('두개의 숫자를 입력해 주세요 : ').split())
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

 

maps 함수를 사용해서 해결할 수가 있다.

코드
num1, num2 = map(int,input("두개의 숫자를 입력해주세요 : ").split())
# num1과 num2 변수에 입력받은 사용자 값을 split하고 int로 변환하여 저장합니다.
 
print('입력하신 숫자는 ', num1, '과', num2, '입니다.')
print('두 숫자의 합은', num1+num2, '입니다.')
print(type(num1), type(num2))
 
결과
두개의 숫자를 입력해주세요 : 20 50    # input에 의한 사용자 입력 
입력하신 숫자는  20 과 50 입니다.
두 숫자의 합은 70 입니다.
<class 'int'> <class 'int'>

 

https://ossian.tistory.com/62