레이블이 input()인 게시물을 표시합니다. 모든 게시물 표시
레이블이 input()인 게시물을 표시합니다. 모든 게시물 표시

2021년 5월 15일 토요일

[파이썬] input 함수의 split 메서드로 여러 개의 값을 입력받는 법

 

파이썬에서 원하는 값을 입력받기 위해서는 input 함수를 사용합니다.

 

아래 소스가 일반적인 값을 입력받는 방법입니다.

 

age = input (“Input age : “)

 

print (“Age is “, age, “ yesrs old”)

 

입력받는 값들이 많을때는 일일이 각각 input 함수를 사용하는 것이 번거로울 수 있습니다.

 

파이썬에는 이를 위해 input 함수의 split이라는 메서드를 사용하여 여러 개의 값을 입력받을 수 있습니다.

 

아래 소스가 그런 방법을 보여 줍니다.

 

s1, s2 = input (“Please input two scores : “).split()

 

i1 = int (s1)

 

i2 = int (s2)

 

print (“Sum of two scores is “, i1 + i2)

 

2개의 값을 입력할 때 일반적을 빈칸을 띄어서 입력하게 되면 서로 분리가 되어 s1, s2 변수에 저장이 됩니다.

 

그 결과는 아래와 같이 나옵니다.

 

Please input two scores : 123 34

 

Sum of two scores is 157

 

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