[ Python ] 연산자와 숫자처리함수

duck-ach·2022년 11월 6일
0

Python

목록 보기
3/6
post-thumbnail

더하기, 빼기, 곱하기, 나누기

연산의 기본이되는 더하기, 빼기, 곱하기, 나누기는 다른 프로그래밍 언어와 똑같다.

print(1+1) # 2
print(3-2) # 1
print(5*2) # 10
print(6/3) # 2.0
print(6//3) # 2
# 0으로 나눌 수 없다. (어떤 언어든 마찬가지)

조금 다른 점은 나눗셈의 몫을 구할때 /라고 입력해주면 소수점까지 계산하여 보여주고, //라고 입력해주면 몫만 출력해 준다는 점이다.
그리고 어떤 언어든 마찬가지로 0으로 나눌 수 없다.

몫과 나머지

# 몫 구하기
print(5//3) # 1
print(10//3) # 3
## 나머지구하기
print(5%3) # 2
print(10%3) # 1

위에 설명한대로 몫은 //로 계산한다. 나머지는 다른 언어와 똑같이 %로 계산해주면 된다.

제곱

그래서 곱하기도 한번 두번 곱해보자. **

# 제곱
print(2**3) # 2^3 = 8

곱하기를 두번 곱하면 제곱으로 계산되어 지는것을 볼 수 있다.

비교연산자

print(10 > 3) # True
print(4 >= 7) # False
print(10 < 3) # False
print(5 <= 5) # True

10이 3보다 크다는 True,
4가 7보다 크거나 같다는 False,
10이 3보다 작다는 False,
5가 5보다 작거나 크다는 True를 나타낸다.

앞과 뒤의 값이 같다. (==)

print(3 == 3) # True
print(4 == 2) # False
print(3 + 4 == 7) # True

앞과 뒤의 값이 같지 않다. (!=)

print(1 != 3) # True
print(not(1 != 3)) # False

And(&)연산자와 OR(|)연산자

And(&)연산자

앞과 뒤의 값이 둘다 True라면 True를 나타낸다.

print((3 > 0) and (3 < 5)) # True
print((3 > 0) & (3 < 5))   # True

OR(|)연산자

print((3 > 0) or (3 > 5)) # True
print((3 > 0) | (3 > 5)) # True

다항연산자

print(5 > 4 > 3) # True
print(5 > 4 > 7) # False

대입연산자 (+=, -=, /=, //=, %=)

아래 식은 같은 식이다.

number = number + 2
number += 2

우선 변수에 값을 담고 대입연산자를 적용해보겠다.

# 변수에담기
number = 2 + 3 * 4
print(number) # 14

# 대입연산자
number = number + 2
print(number) # 16

# 더하기
number += 2 
print(number) # number + 2 = 18

# 곱하기
number *= 2 # 36
print(number) # 36

# 몫
number //= 2 # 18
print(number) # 18 # '/'를 하면 몫을 소수점으로 표시해주고, '//'를 하면 몫만 표시

# 빼기
number -= 2 # 16
print(number) # 16

# 나머지
number %= 5 # 1
print(number) # 1

만약, 몫을 구할때 //가 아닌 /를 썼다면, 18.0, 16.0, 1.0이 출력된다.
//

/

숫자 처리 함수

절대값 abs()

print(abs(-5)) # 절대값 5

제곱 pow()

print(pow(4, 2)) # 제곱 4^2 = 16

최대값 max()

print(max(5, 12)) # 최대값 12

최소값 min()

print(min(5, 12)) # 최소값 5

소수점 반올림 round()

print(round(3.14)) # 소수점 반올림 3
print(round(4.99)) # 소수점 반올림 5

math 라이브러리

math 라이브러리 안의 함수들을 이용하기 위해서는 import 처리가 필요하다.

from math import *
: math 라이브러리 안에 있는 모든 것을 이용하겠다.

소수점 내리기 올리기 floor(), ceil()

from math import *
print(floor(4.99)) # 소수점 내리기 4
print(ceil(3.14))  # 소수점 올리기 4

제곱근 sqrt()

from math import *
print(sqrt(16))    # 제곱근 4.0

random 라이브러리

random 라이브러리 안의 함수들을 이용하기 위해서는 import 처리가 필요하다.

from random import *

랜덤함수

from random import *
print(random()) # 0.0 ~ 1.0 미만의 임의의 값 생성
print(random() * 10) # 0.0 ~ 10.0 미만의 임의의 값 생성
print(int(random() * 10)) # 0 ~ 10 미만의 임의의 값 생성
print(int(random() * 10)) # 0 ~ 10 미만의 임의의 값 생성
print(int(random() * 10)) # 0 ~ 10 미만의 임의의 값 생성
print(int(random() * 10) + 1) # 1 ~ 10 미만의 임의의 값 생성
  • 기본 random()함수는 0.0 에서 1.0미만의 임의의 값을 생성한다.
  • 거기에 10을 곱하면 소수점 아래 첫번째 값이 올라와 0.0에서 10.0 미만의 임의의 값을 생성한다.
  • int(정수타입)로 형변환을 해주면 소수점 아래 숫자들이 짤리고 정수만 출력이 된다. (+1을 뒤에 해주면 해당 숫자 1부터 마지막 숫자인 10미만(9)까지 출력이 된다.)

로또 숫자 1~45의 랜덤 숫자 구현하기

  • 중복의 경우 배제를 하는 처리를 해주지 않았기 때문에 중복은 발생할 수 있다.
from random import *
# 로또값 (1 ~ 45)
print(int(random() * 45) + 1) # 1 ~ 60 미만의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 60 미만의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 60 미만의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 60 미만의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 60 미만의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 60 미만의 임의의 값 생성

randrange()함수

random()함수와 비슷하면서도 더욱 더 간편하다.
함수이름 뜻대로 랜덤 범위를 지정해주면 된다.

from random import *
# randrange() 함수
print(randrange(1, 46)) # 1 ~ 45 이하의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 45 이하의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 45 이하의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 45 이하의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 45 이하의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 45 이하의 임의의 값 생성

randint()함수

random값을 int값으로 출력해주는 함수이다.

from random import *
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성

예제)

    문제. 당신은 최근에 코딩 스터디 모임을 새로 만들었습니다.
    월 4회 스터디를 하는데 3번은 온라인으로 하고 1번은 오프라인으로 하기로 했습니다.
    아래 조건에 맞는 오프라인 모임 날짜를 정해주는 프로그램을 작성하시오.

    조건 1 : 랜덤으로 날짜를 뽑아야함
    조건 2 : 월별 날짜는 다름을 감안하여 최소 일수인 28이내로 정함
    조건 3 : 매월 1~3일은 스터디 준비를 해야하므로 제외

    (출력문 예제)
    오프라인 스터디 모임 날짜는 매월 x 일로 선정되었습니다.

풀이
오늘 배웠던 random 함수 3가지를 각각!
사용해 보았다.

from random import *

date = int(random() * 28) + 4
print("오프라인 스터디 모임 날짜는 매월 ", str(date),"일로 선정되었습니다.")
date = randrange(4, 29)
print("오프라인 스터디 모임 날짜는 매월 ", str(date), "일로 선정되었습니다.")
date = randint(4, 28)
print("오프라인 스터디 모임 날짜는 매월 ", str(date), "일로 선정되었습니다.")

profile
자몽 허니 블랙티와 아메리카노 사이 그 어딘가

0개의 댓글