파이썬 숫자 입력받기 - paisseon susja iblyeogbadgi


문자열 입력 방법을 알아보았으니 이번에는 입력받은 두 숫자를 더하는 프로그램을 만들어보겠습니다. 다음 내용을 IDLE의 소스 코드 편집 창에 입력하세요.

input_integer.py

a = input('첫 번째 숫자를 입력하세요: ') b = input('두 번째 숫자를 입력하세요: ')   print(a + b)

소스 코드를 실행하면 '첫 번째 숫자를 입력하세요: '가 출력됩니다. 여기서 1을 입력하고 엔터 키를 누르세요. 그리고 '두 번째 숫자를 입력하세요: '가 출력되면 2를 입력하고 엔터 키를 누르세요.

실행 결과

첫 번째 숫자를 입력하세요: 1 (입력) 두 번째 숫자를 입력하세요: 2 (입력) 12

1 + 2의 결과는 3이 나와야 하는데 12가 나왔습니다. 왜 이런 결과가 나왔을까요? input에서 입력받은 값은 항상 문자열 형태이기 때문입니다. 즉, 1과 2는 겉보기에는 숫자이지만 실제로는 문자열이므로 1과 2를 +로 연결하여 12가 나오게 됩니다.

1 + 2의 결과가 3이 나오게 하려면 input에서 입력받은 문자열을 숫자(정수)로 변환해주어야 합니다.

  • 변수 = int(input())
  • 변수 = int(input(문자열))

input_integer.py

a = int(input('첫 번째 숫자를 입력하세요: '))    # int를 사용하여 입력 값을 정수로 변환 b = int(input('두 번째 숫자를 입력하세요: '))    # int를 사용하여 입력 값을 정수로 변환   print(a + b)

실행 결과

첫 번째 숫자를 입력하세요: 1 (입력) 두 번째 숫자를 입력하세요: 2 (입력) 3

이제 1 + 2의 결과로 3이 나왔죠? 입력받은 값을 숫자(정수)로 변환하려면 inputint로 묶어줍니다.

a = int(input('첫 번째 숫자를 입력하세요: '))

여기서 int는 괄호 안에 있는 값을 정수로 변환하며 문자열이든 실수든 상관없이 정수로 변환합니다.

  • int(값)

>>> int('10') 10 >>> int(3.5) 3 >>> int('hello') Traceback (most recent call last):   File "<pyshell#4>", line 1, in <module>     int('hello') ValueError: invalid literal for int() with base 10: 'hello'

물론 문자열의 내용이 숫자(10진 정수)가 아니라면 변환이 되지 않고 에러가 발생합니다. 이점 주의해주세요.

그럼 실수의 덧셈도 계산할 수 있겠죠? input으로 입력받은 값을 실수로 변환하려면 float로 묶어줍니다.

  • 변수 = float(input())
  • 변수 = float(input(문자열))

input_float.py

a = float(input('첫 번째 숫자를 입력하세요: '))    # float를 사용하여 입력 값을 실수로 변환 b = float(input('두 번째 숫자를 입력하세요: '))    # float를 사용하여 입력 값을 실수로 변환   print(a + b)

실행 결과

첫 번째 숫자를 입력하세요: 1.2 (입력) 두 번째 숫자를 입력하세요: 1.5 (입력) 2.7

1.2 + 1.5의 결과로 2.7이 나왔습니다. 만약 float를 사용하지 않으면 문자열 '1.2''1.5'가 연결되어 '1.21.5'가 됩니다.

float는 괄호 안에 있는 값을 실수로 변환하며 문자열이든 정수든 상관없이 실수로 변환합니다.

  • float(값)

>>> float('3.5') 3.5 >>> float(10) 10.0 >>> float('hello') Traceback (most recent call last):   File "<pyshell#5>", line 1, in <module>     float('hello') ValueError: could not convert string to float: 'hello'

물론 문자열의 내용이 숫자(10진 정수, 실수)가 아니라면 변환이 되지 않고 에러가 발생하니 주의하세요.


Toplist

최신 우편물

태그