컴퓨터/Python
Python에서는 input() 함수를 통해 어떠한 변수에 값을 입력받을 수 있습니다.
#입력값 받아서 변수에 저장 후 출력하기
x = input()
print("입력받은 값은 "+x+"입니다.")
Python에서는 input함수 안에 특정한 문자열을 넣어 입력받기 전에 안내문을 출력할 수 있습니다.
#안내문
x = input("x의 값을 입력하세요 : ")
print("입력받은 값은 "+x+"입니다.")
input() 함수를 통해 어떠한 값을 입력받으면 모두 문자열의 형태로 저장되게 됩니다.
지난 포스트에서 배운 type() 함수를 이용해 확인해 보도록 하겠습니다.
#모든 input으로 받는 값은 문자열입니다.
x = input("x의 값을 입력하세요 : ")
y = input("y의 값을 입력하세요 : ")
print("x의 값 : "+x)
print(type(x))
print("y의 값 : "+y)
print(type(y))
만약 다음과 같이 a와 b의 값을 받아 더한 결과를 보고 싶다고 가정하고 아래의 소스코드를 만들어 보도록 하겠습니다.
#결과 값을 예상해보세요
#(문자열로 받으면 생기는 문제)
a = input("a의 값을 입력하세요 : ")
b = input("b의 값을 입력하세요 : ")
print(a+b)
10+20 = 30이라는 결괏값을 원하지만 문자열의 형태로 저장돼 있는 숫자가 아닌 두 개의 문자열 a와 b를 더하면 1020이라는 값이 나오게 됩니다.
따라서 데이터의 자료형을 구분하고 직접 지정해주어 원하는 형태의 자료형으로 변경할 필요가 있습니다.
크게 문자열(str)에서 다른 형태로 바꿀 내용은 크게 3가지 일 것입니다.
이처럼 input() 함수를 통해 자료형을 변경하는 방법은 아래와 같습니다.
#자료저장 형태 변경하기
a = input("a의 값을 입력하세요 : ")
b = input("b의 값을 입력하세요 : ")
c = bool(input("c의 값을 입력하세요 : "))
print(type(a))
print(type(b))
print(type(c))
a = int(a)
b = float(b)
print(type(a))
print(type(b))
print(type(c))
만약 숫자의 형태로 받고 싶은데 입력값이 문자라면 input함수는 문자열이기 때문에 허용합니다. 하지만 int로 변환하는 과정에서 문제가 생깁니다.
#int로 형변환을 하고싶지만 문자가 입력된다면 ?
a = int(input("a의 값을 입력하세요 : "))
input() 함수를 이용하여 값을 입력받고 그 값을 원하는 형태로 변경할 수 있지만 위처럼 예상치 못한 에러의 발생의 가능성이 있습니다. 이 내용에 대해서는 추후에 다시 다루도록 하겠습니다.
Python - while (반복문) (0) | 2021.11.01 |
---|---|
Python - format (0) | 2021.10.03 |
Python - for문(1) (0) | 2021.09.25 |
Python - 기본 자료형과 type()함수 (0) | 2021.09.23 |
Python - Dictionary 사용해보기 (0) | 2021.09.20 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet