이번 포스팅은 이전 변수 포스팅에 이어서 input() 함수에 대해서 알아보겠습니다.
파이썬은 명령 프롬포트에서 사용자로부터 데이터를 입력받을 때 input() 함수를 사용합니다.
input() 함수로 사용자 입력받기
사용자로부터 데이터를 입력받을 때는 다음 코드를 입력합니다.
이때, input 함수 괄호 안에 입력한 내용을 프롬포트 문자열이라 합니다
input("인사말을 입력하세요")
실행하면 다음과 같이 문자열이 뜨고 프로그램이 종료되지 않은 상태에서 대기가 됩니다.
이렇게 프로그램이 실행도중 잠시 멈추는 것을 블록이라 합니다.
input() 함수가 사용자에게 자료입력을 요구하면서 코드 진행을 블록하고 있는 것입니다.
이처럼 사용자가 입력한 내용은 input() 함수의 결과로 나옵니다.
이 값은 위처럼 다른 변수에 대입해서 사용도 가능합니다.
print() 함수를 통해서 대입이 제대로 되었는지 확인해 보았습니다.
이때 input() 함수의 결과로 나오는 값을 리턴값이라 합니다.
input() 함수의 입력 자료형
앞에서 input()함수의 결과를 string이라는 변수에 대입했습니다.
대입한 값의 자유형이 어떻게 되는지 확인해 보겠습니다
안녕하세요라는
number = input("숫자를 입력해주세요")
문자열을 입력했으니 당연하게도 문자열이라는 'str'이 출력되었습니다.
다음과 같이 코드를 진행한다면 과연 자료형의 종류는 어떻게 나올까요??
'int'라는 타입으로 나올까요??
input() 함수는 무엇을 입력하더라도 무조건 문자열 자료형으로 나옵니다.
한다미로 숫자를 입력해도 문자열로 들어온다는 것을 볼 수 있습니다.
따라서 input을 통해서 받은 후 입력받은 것과 숫자를 더하는 코드를 작성하면
다음과 같은 오류가 발생합니다.
문자열을 숫자로 바꾸기
이를 해결하고 싶다면 문자열을 숫자로 변환해 주면 됩니다.
영어로는 캐스트(cast)라고 합니다.
문자열을 숫자로 변환할 때는 다음과 같은 함수를 사용합니다.
- int() :문자열을 int 자료형으로 변경해 줍니다. int는 정수형을 의미합니다.
- float() : 문자열을 float 자료형으로 변환합니다. float는 실수 또는 부동소수를 의미합니다.
예시를 통해서 알아보겠습니다.
다음과 같이 코드를 작성하고 실행을 하고
입력 A값을 273
입력 B 값을 52로 넣는다면
위와 같은 결과를 얻을 수 있습니다.
문자열 자료의 경우 문자열자료의 덧셈처럼 273 뒤에 52를 붙이고
숫자 자료의 경우는 273+52의 값인 325를 출력해 줍니다.
int() 함수와 float() 함수가 제대로 자료형을 교체해 주는지 확인까지 해보았습니다.
Error
변환할 수 없는 것을 변환하려 할 때 오류가 발생합니다.
1. 숫자가 아닌 것을 숫자로 변환하려고 할 때
2. 소수점이 있는 숫자형식의 문자열을 int() 함수로 변환하려고 할 때
이두가지 상황을 유의하면서 변환을 시도하면 됩니다.
숫자를 문자열로 바꾸기
위에 배운 것과 반대의 상황 또한 가능합니다.
str()
위의 함수를 통해서 다른 자료형을 문자열로 변환가능합니다.
간단하게 숫자 자료형이 문자 자료형으로 변환된 것을 확인가능합니다.
실습
inch단위를 cm단위로 변경하기
인치단위의 숫자를 입력받아 cm로 변환하여 출력하는 프로그램을 만들어보도록 하겠습니다.
위처럼 코드를 작성해 보았습니다.
코드를 통해서 inch단위를 cm단위로 변경해 주는 프로그램을 생성하였습니다.
'언어 > Python' 카테고리의 다른 글
숫자열과 문자열의 다양한 기능 2 (2) | 2024.12.13 |
---|---|
숫자열과 문자열의 다양한 기능 1 (0) | 2024.12.10 |
변수 (0) | 2024.12.04 |
숫자와 숫자 연산자 (0) | 2024.11.22 |
문자열 연산자 - 예외 처리 / 문자열의 길이 구하기 (0) | 2024.11.13 |