확인한 환경과 범위

Windows · Python 3.12.4. 본문의 첫 예제를 실행하여 표준 출력과 예상 결과가 일치함을 확인했습니다. 연습문제의 모든 입력을 검증한 것은 아닙니다.

이 글의 순서 4개 단락

앞 강의에서 입력받은 두 수를 더했습니다. 이번에는 같은 두 수로 뺄셈, 곱셈, 나눗셈도 계산해 각각의 식과 결과를 표시합니다. 예제는 Python 3.12를 사용하며, 숫자로 변환할 수 있는 입력과 0이 아닌 두 번째 수를 전제로 합니다.

사칙연산자로 계산하기

+는 덧셈, -는 뺄셈, *는 곱셈, /는 나눗셈을 뜻합니다. 뺄셈과 나눗셈은 숫자의 순서가 중요하므로 첫 번째 수에서 두 번째 수를 빼고, 첫 번째 수를 두 번째 수로 나눕니다.

예를 들어 첫 번째 수가 8이고 두 번째 수가 2라면 네 결과는 차례로 10, 6, 16, 4입니다. 입력을 float()으로 변환하므로 예제에서는 각 숫자가 8.0, 2.0처럼 표시됩니다.

두 수의 계산식과 결과 표시하기

first = float(input("첫 번째 수: "))
second = float(input("두 번째 수: "))

print(first, "+", second, "=", first + second)
print(first, "-", second, "=", first - second)
print(first, "*", second, "=", first * second)
print(first, "/", second, "=", first / second)

사칙연산 결과 만들기 — 첫 예제의 실제 실행 결과

입력값으로 첫 줄에 8, 다음 줄에 2를 사용합니다. 입력 안내문과 네 계산 결과를 포함한 표준 출력의 예상 내용은 다음과 같습니다. 실제 터미널에서는 입력한 숫자도 입력 위치에 보일 수 있습니다.

첫 번째 수: 두 번째 수: 8.0 + 2.0 = 10.0
8.0 - 2.0 = 6.0
8.0 * 2.0 = 16.0
8.0 / 2.0 = 4.0

input()은 입력을 문자열로 받으며, float()은 그 문자열을 실수로 변환합니다. 변환한 값은 first와 second에 저장하므로 네 계산에서 다시 사용할 수 있습니다. 각 print()의 마지막 부분에서 연산을 수행하고, 앞부분에는 입력값과 연산 기호를 함께 넣습니다. print()는 쉼표로 구분된 값 사이에 기본적으로 공백을 넣기 때문에 계산식을 읽기 좋게 표시합니다.

실수와 경계 조건

곱셈 기호는 x가 아니라 *입니다. 또한 /의 오른쪽에 있는 두 번째 수가 0이면 ZeroDivisionError가 발생해 프로그램이 중단됩니다. 이 예제에서는 두 번째 수에 0이 아닌 값을 입력하세요. 0을 검사하는 방법은 뒤 강의에서 다룹니다.

float()으로 바꿀 수 없는 글자를 입력하면 ValueError가 발생합니다. 잘못된 입력을 처리하는 방법도 뒤 강의에서 배웁니다. 소수는 컴퓨터에서 항상 정확하게 표현되는 것은 아니므로, 예를 들어 0.1과 0.2를 더하면 예상한 0.3과 표시가 조금 다를 수 있습니다.

연습과 풀이

첫 번째 수로 9, 두 번째 수로 4를 입력하면 뺄셈과 나눗셈 줄은 어떻게 표시될까요? 코드를 바꾸지 않고 순서를 생각해 보세요.

뺄셈은 9.0 - 4.0 = 5.0, 나눗셈은 9.0 / 4.0 = 2.25입니다. /는 나눗셈 결과의 소수 부분을 버리지 않습니다.

참고: Python 3.12 공식 문서 — 숫자형 연산, 내장 함수 input과 print.

CHECK THE SOURCE

참고한 공식 문서

기능 설명은 위 문서를 참고했으며, 예제의 입력·결과와 한계는 본문에 따로 기록했습니다.

한 줄씩 이해하고, 차곡차곡 기록합니다.이 글의 오류 제보하기 ↗