본문 바로가기
컴퓨터/파이썬으로 풀어보는 수학

숫자-연산

by book_lover 2024. 3. 19.

기초 연산

 

파이썬 3 IDLE을 위처럼 실행시킨 후  print("Hello, World")로 테스트 해본다.

Python 3.11.4 (tags/v3.11.4:d2340ef, Jun  7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
1 + 2
3
3 - 1
2
3 * 5
15
3 / 5
0.6
5 // 3
1
-2 / 5
-0.4
-2 // 5
-1
  • 더하기
  • 빼기
  • 곱셈
  • 나눗셈 : "//" 연산자는 "/"와 다르게 소수점 이하의 값은 제거하고 정수값을 가져온다. 결과는 나누기 연산 결과보다 작은 정수 값을 가져온다.
9 % 2
1
2 ** 2
4
2 ** 10
1024
8 ** (1/3)
2.0
  • 나머지 연산자 : "%"를 사용하여 나눗셈의 "몫"만 가져온다 
  • 거듭제곱 : "**" 로 거듭제곱이 가능하다.
  • 제곱근 : 1보다 작은 자승을 계산하여 제곱근을 구할 수 있다.
  • 연산 순서 : PEMDAS 규칙에 근거해 수식을 계산한다.

레이블 

a = 3
a + 1
4
a = 5
a + 2
7

 

 

a에 숫자 3을 할당하고, a + 1 실행하면 결과 값 4가 되고, a에 숫자 5를 항당하고 a + 2 실행하면 결과 값 5가 된다. "+" 더하기를 하기 위해 a의 값을 참조하여 숫자 "3, 5"를 읽어와서 더하기 연산을 수행한다.

 

이러한 종류의 이름을 레이블이라 한다. 이외의 모든 곳에서 동일한 생각을 표시하기 위해 변수라는 용어를 사용한다.  숫학에서도 x+2=3에서 x를 변수라하는데 같은 단어이지만 사실 의미는 똑같지 않다고 생각한다.

다른 종류의 숫자

파이썬에서는 "3"과 "3.0"은 다른 "유형"의 숫자로 파악한다. 사람에게는 같은 3이지만 컴퓨터에게는 정확히 정수 "3", 부동소수점 "3.0"으로 다르게 내부에서 처리한다.

 

type() 함수로 어떤 유형의 숫자인지 확인이 가능하다. 그리고 int() 함수로 부동소수점 숫자를 정수 숫자로, float() 함수로 정수 숫자를 부동소수점 숫자로 변경가능하다.

분수 계산

fractions 모듈로 분수 계산이 가능하다. fractions 모듈은 이용하기 전에 임포트(import)를 해야 한다. 파인썬에서 이 모듈의 클래스를 사용한다고 표시하는 방법이다.

 

분수를 Fraction(분자, 분모)의 형태로 표시한다. 

 

분모가 1인 함수 2/1로 계산할 수 있다.

복소수 

파이썬은 복소수를 지원한다. j, J로 허수부를 지원한다.

 

complex() 함수로 복소수를 정의할 수 있다.

 

 

켤레복소수 : 같은 실수값을 갖지만 "허수부"는 "부호"가 다른 값을 갖는다. conjugate() 메소드를 사용해 얻을 수 있다.

 

실수, 허수부는 모두 부동소수점 숫자다. 아래와 같은 공식으로 복소수 값을 계산할 수 있다.

 

abs() 함수를 사용하면 쉽게 얻을 수 있다.

사용자 입력 가져오기

input() 함수로 사용자 입력값을 가져올 수 있다. 가져오는 값의 타입은 "문자열"이다.

 

int() 함수로 정수로 변환할 수 있다. 다만 '3.3' 같은 실수(부도소수점)을 넣으면 오류가 발생한다.

 

오류를 방지하기 위해서 "try ~ except" 구문을 이용하여 방지 할 수 있다.

try:
    a = float(input('Enter a number: '))
except ValueError:
    print("you entered an invaild number")

Enter a number: 3.3
a
3.3
try:
    a = float(input('Enter a number: '))
except ValueError:
    print("you entered an invaild number")

Enter a number: 3/4
you entered an invaild number

 

1.0과 같은 비정수 입력값을 필터링할 수 있다.

입력값으로 분수와 복소수

 

뛰어쓰기가 있으면 오류가 발생한다.