레이블이 숫자입력인 게시물을 표시합니다. 모든 게시물 표시
레이블이 숫자입력인 게시물을 표시합니다. 모든 게시물 표시

2020년 6월 27일 토요일

파이썬의 input()을 사용한 입력방법

다른 프로그래밍 언어와 마찬가지로 파이썬에서 키보드를 통해 어떤 숫자나 문자열을 입력받을 수 있습니다. 그때 사용하는 구문이 "input()"입니다. Input()내에 입력할 때 의미를 잘 알 수 있도록 여러가지 문장도 추가가능합니다.

아래 소스가 input()을 활용한 소스 코드입니다.

a = input('점수를 입력하세요 : ')
print ("입력한 점수는 ", a, " 입니다")

if a < 100:
    print ("입력한 점수는 100보다 작다 : ", a)
elif a > 100:
   print ("입력한 점수는 100보다 크다 : ", a)
else:
   print ("입력한 점수는 100과 같습니다 : ", a)

그런데 위의 소스를 실행하면 아래와 같이 에러가 발생됩니다.

점수를 입력하세요 : 100
입력한 점수는  100  입니다
Traceback (most recent call last):
  File "test.py", line 11, in <module>
    if a < 100:
TypeError: '<' not supported between instances of 'str' and 'int'

그 이유는 파이썬의 input()로 입력받은 결과값은 문자열 형태이기 때문입니다. C언어에서도 숫자나 문자열을 입력받는 방법이 조금 다르죠. 그 해결방법은 입력받은 문자열을 필요한 다른 데이터 타입으로 변환시켜야 합니다.

다음의 소스를 보시면 input()int()를 사용해서 문자열을 정수로 변환시킵니다. 만약 실수형으로 변환하려면 float()를 사용하면 됩니다.

a = int( input('점수를 입력하세요 : ') )
print ("입력한 점수는 ", a, " 입니다")

if a < 100:
    print ("입력한 점수는 100보다 작다 : ", a)
elif a > 100:
   print ("입력한 점수는 100보다 크다 : ", a)
else:
   print ("입력한 점수는 100과 같습니다 : ", a)

위의 소스를 실행하면 아래와 같이 제대로 실행됨을 알 수 있습니다.

점수를 입력하세요 : 100
입력한 점수는  100  입니다
입력한 점수는 100과 같습니다 :  100