작성자: admin 작성일시: 2016-09-06 10:54:07 조회수: 2157 다운로드: 152
카테고리: Python 태그목록:

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

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

정수 연산

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

In:
1 + 1
Out:
2

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

  • 코드의 처음과 마지막에는 빈칸을 넣지 않는다.
  • 빈칸은 항상 하나만 넣는다.
  • 숫자나 연산 기호 사이는 한 칸을 띄운다.
  • 괄호를 연 직후나 닫기 직전에는 빈칸을 넣지 않는다.
In:
1+1  # 모두 붙여쓰지 않는다.
Out:
2
In:
1      +   1   # 너무 많이 띄우지 않는다. 한 칸만 띄운다.
Out:
2

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

  • $+$ : 키보드 +
  • $-$ : 키보드 -
  • $\times$ : 키보드 *
  • $\div$ (몫을 구하기) : 키보드 // (두 글자로 된 연산기호이므로 띄우지 않고 연속해서 기호를 타이핑한다.)
  • $\div$ (소숫점까지 나누기) : 키보드 /
  • 나머지 : 키보드 %
  • 제곱 : 키보드 **
In:
2 + 4 - 5
Out:
1
In:
2 * 4
Out:
8
In:
8 // 4
Out:
2
In:
10 // 4
Out:
2
In:
10 / 4
Out:
2.5
In:
10 % 4
Out:
2
In:
2 ** 3
Out:
8

연습 문제 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 $$

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

연산 순서와 괄호

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

In:
3 + 2 * 4
Out:
11
In:
3 + (2 * 4)
Out:
11
In:
(3 + 2) * 4
Out:
20

괄호가 있으면 괄호안을 먼저 계산한다. 하지만 파이썬은 소괄호, 중괄호, 대괄호를 구분하지 않고 모두 소괄호 기호를 사용한다.

예를 들어 아래 수식은 다음과 같이 입력한다.

$$ 100 \div \Big[ 3 \times \big\{ 10 - (3 \times 2) \big\} + 8 \Big]$$
In:
100 * (3 * (10 - (3 * 2)) + 8)
Out:
2000

연습 문제 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 $ : 키보드 <=
In:
2 > 1
Out:
True
In:
2 > 2
Out:
False
In:
2 == 2
Out:
True
In:
2 != 1
Out:
True
In:
3 <= 3
Out:
True

연습 문제 3

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

부울리언 대수

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

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

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

In:
True & True
Out:
True
In:
True & False
Out:
False
In:
False & True
Out:
False
In:
False & False
Out:
False
In:
True | True
Out:
True
In:
True | False
Out:
True
In:
False | True
Out:
True
In:
False | False
Out:
False

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

In:
(2 > 0) & (2 < 3)
Out:
True
In:
(2 > 2) | (2 < 3)
Out:
True

연습 문제 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 은 모두 서로 다른 변수이다.

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

연습 문제 5

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

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

질문/덧글

부울리언 대수에 관한 질문 jkon*** 2017년 3월 28일 11:11 오후

이 사이트를 통해 열심히 파이썬을 배우는 학생입니다.
Boolean대수에 관한 질문입니다. AND라는 연산은 & (shift 7)로 가능한데 OR이라는 연산은 단축기가 어떤키인가요? 소문자 L인가요 아니면 대문자 i인가요 아니면 어떤 키 인가요?
도와주시면 감사하겠습니다! :)

답변: 부울리언 대수에 관한 질문 관리자 2017년 3월 29일 9:55 오전

본문에 키보드에 관한 내용을 추가하였습니다.

답변: 답변: 부울리언 대수에 관한 질문 engk*** 2017년 3월 30일 7:46 오후

이런 세세한 부분까지 해주시는군요 ㅎㅎ