반응형

다른 프로그래밍 언어와 마찬가지로 파이썬에서 키보드를 통해 어떤 숫자나 문자열을 입력받을 수 있습니다. 그때 사용하는 구문이 "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
반응형
Posted by HLIFEINFO
,