2.1 파이썬을 계산기로 사용하기

가장 간단한 프로그래밍은 파이썬을 계산기로 사용하는 것이다. 여기에 나오는 모든 코드 예제는 주피터 노트북에서 실행하는 것을 가정하고 있다. 하지만 아이파이썬이나 일반 파이썬 콘솔에서도 실행할 수 있다.

정수 연산

주피터 노트북 셸이나 (아이)파이썬 콘솔에서 다음처럼 입력해보자. 계산 결과가 출력되는 것을 볼 수 있다.

1 + 1
2

띄어쓰기가 위와 달라도 계산은 된다. 하지만 파이썬에서 다음 코드처럼 띄어쓰는 것은 권장하지 않는다. 일반적인 띄어 쓰기 규칙은 다음과 같다.

  • 코드의 처음과 마지막에는 빈칸을 넣지 않는다.

  • 빈칸은 항상 하나만 넣는다.

  • 숫자나 연산 기호 사이는 한 칸을 띄운다.

  • 괄호를 연 직후나 닫기 직전에는 빈칸을 넣지 않는다.

1+1  # 모두 붙여쓰지 않는다.
2
1 + 1   # 너무 많이 띄우지 않는다. 한 칸만 띄운다.
2

위 코드에서 # 기호는 주석(설명문, comment)을 뜻하는 기호이다. 주석 기호 다음의 글자들은 사람을 위한 것이다. 컴퓨터는 주석 기호 다음의 글자를 무시한다. 따라서 연습할 때는 주석은 입력하지 않아도 된다.

파이썬에서는 정수의 덧셈, 뺄셈, 곱셈, 나눗셈 등을 할 수 있다. 하지만 연산 기호는 수학에서 사용하는 것과 조금 다를 수 있다. 특히 나눗셈 연산은 두 가지 종류가 있다는 점에 주의한다.

  • \(+\) : 키보드 +

  • \(-\) : 키보드 -

  • \(\times\) : 키보드 *

  • \(\div\) (몫을 구하기) : 키보드 // (두 글자로 된 연산기호이므로 띄우지 않고 연속해서 기호를 타이핑한다.)

  • \(\div\) (소수점까지 나누기) : 키보드 /

  • 나머지 : 키보드 %

  • 제곱 : 키보드 **

2 + 4 - 5
1
2 * 4
8
8 // 4  # 8을 4로 나눈 몫은 2
2
11 // 4  # 11을 4로 나눈 몫은 2
2
11 % 4  # 11을 4로 나눈 나머지는 3
3
10 / 4  # 10/4 = 2.5
2.5
2 ** 3  # 2의 세제곱은 8
8
2 ** -1  # 음수 제곱은 역수. 2^(-1) = 1/2
0.5
1000 ** 0  # 모든 수의 0제곱은 1
1

연습 문제 2.1.1

파이썬으로 계산기로 사용하여 다음 연산을 한다.

  1. \[ 3 \times 2 - 8 \div 4 \]
  2. \[ 25 \times 6 \div 3 + 17 \]
  3. \[ 39021 - 276920 \div 12040 \]
  4. \[ 2^{6} - 10 \; \% \; 6 \]

위 식에서 \(\%\)는 나머지를 구하는 연산이다.

연산 순서와 괄호

파이썬에서도 일반 수학의 연산 순서를 따른다. 즉, 곱셈과 나눗셈을 덧셈이나 뺄셈보다 먼저 한다.

3 + 2 * 4
11
3 + (2 * 4)
11
(3 + 2) * 4
20

괄호가 있으면 괄호안을 먼저 계산한다. 하지만 파이썬은 소괄호, 중괄호, 대괄호를 구분하지 않고 모두 소괄호 기호를 사용한다. 예를 들어 아래 수식을 파이썬 코드로 나타내면 다음과 같다.

\[ 100 \div \Big[ 3 \times \big\{ 10 - (3 \times 2) \big\} + 8 \Big]\]
100 / (3 * (10 - (3 * 2)) + 8)
5.0

연습 문제 2.1.2

파이썬을 계산기로 사용하여 다음 연산을 한다.

  1. \[ 12 - (5 \times 7 + 1) \]
  2. \[ 5 \times \big\{ 8 + (10 - 6) \div 2 \big\} \]
  3. \[ 48320 - \big\{ (365 - 5 \times 9) \div 16 \big\} \times 987 \]
  4. \[ ((3^4 - 3 \times 7) \; \% \; 5 + 4 )^ 2 \]

부등식의 참과 거짓 계산

파이썬은 참과 거짓을 계산하는 부등식 연산도 할 수 있다. 파이썬에서는 참과 거짓을 True 또는 False 라는 값으로 나타낸다. 등호 기호는 변수에 값을 할당하는데 사용되므로 비교 연산을 할 때는 등호 기호가 두 개 반복되는 기호를 사용한다는 점에 주의한다.

  • \( > \) : 키보드 >

  • \( < \) : 키보드 <

  • \( = \) : 키보드 ==

  • \( \neq \) : 키보드 !=

  • \( \geq \) : 키보드 >=

  • \( \leq \) : 키보드 <=

2 > 1
True
2 > 2
False
2 == 2
True
2 != 1
True
3 <= 3
True

연습문제 2.1.3

  1. 파이썬으로 계산기로 사용하여 답이 True 인 부등식을 3개를 만든다.

  2. 파이썬으로 계산기로 사용하여 답이 False 인 부등식을 3개를 만든다.

부울리언 대수

파이썬에서는 참과 거짓에 대해 & (AND) 라는 연산과 | (OR) 라는 부울리언 대수(Boolean algebra) 연산도 할 수 있다.

  • & (AND) 연산은 두 값이 모두 참일 때만 답이 참이 된다. 즉, 하나라도 거짓이면 답은 거짓이다.

  • | (OR) 연산은 두 값이 모두 거짓일 때만 답이 거짓이 된다. 즉, 하나라도 참이면 답은 참이다.

참고로 | 기호는 키보드 오른쪽 위의 원화(Korean Won) 표시 키를 shift 키와 동시에 눌러서 입력할 수 있다.

True & True
True
True & False
False
False & True
False
False & False
False
True | True
True
True | False
True
False | True
True
False | False
False

부등식 연산과 부울리언 대수를 결합하면 다음과 같은 계산도 할 수 있다.

(2 > 0) & (2 < 3)
True
(2 > 2) | (2 < 3)
True

연습문제 2.1.4

다음 식의 값이 참인지 거짓인지 손으로 계산한 후에 파이썬으로 답을 확인한다.

  1. \[ (5 \leq 6 ) \; \& \; ( 3 = 4 ) \]
  2. \[ (2 \neq 1 ) \; | \; ( 3 \geq 4 ) \]
  3. \[ (5 \leq 6 ) \; \& \; (( 0 = 0 ) \; | \; ( 3 < 4 )) \]

변수 사용하기

어떤 값을 계속 사용할 때는 그 값을 변수(variable)에 담아두었다가 사용할 수 있다. 변수에 값을 넣는 것을 할당(assignment)한다고 이야기한다. 변수에 값을 할당할 때는 등호 기호를 사용하고 좌변에는 할당할 변수 이름을, 우변에는 할당할 값을 쓴다.

변수이름 = 변수값

변수의 이름은 알파벳으로 시작하며 뒤에는 숫자가 올 수 있다. 파이썬에서는 변수 이름의 대문자와 소문자를 구분하므로 주의하여야 한다. 즉, appleAppleAPPLE 은 모두 서로 다른 변수이다.

a = 2
b = 3
a * b
6
a = 4
(a > 0) & (a <= 10)
True

연습문제 2.1.5

변수들의 값을 바꾸어 가면서 다음 수식을 계산해 보자.

  1. \[ (2x - 1)^2 + 1 \]
  2. \[ x^{2y}\cdot(z + 10) \]
  3. \[ (( j = 0 ) \; \& \; ( 0 < k )) \; | \; (i \leq 100 ) \]