연산의 기본이되는 더하기, 빼기, 곱하기, 나누기는 다른 프로그래밍 언어와 똑같다.
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
앞과 뒤의 값이 둘다 True라면 True를 나타낸다.
print((3 > 0) and (3 < 5)) # True
print((3 > 0) & (3 < 5)) # True
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이 출력된다.
//
/
print(abs(-5)) # 절대값 5
print(pow(4, 2)) # 제곱 4^2 = 16
print(max(5, 12)) # 최대값 12
print(min(5, 12)) # 최소값 5
print(round(3.14)) # 소수점 반올림 3
print(round(4.99)) # 소수점 반올림 5
math 라이브러리 안의 함수들을 이용하기 위해서는 import 처리가 필요하다.
from math import *
: math 라이브러리 안에 있는 모든 것을 이용하겠다.
from math import *
print(floor(4.99)) # 소수점 내리기 4
print(ceil(3.14)) # 소수점 올리기 4
from math import *
print(sqrt(16)) # 제곱근 4.0
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 미만의 임의의 값 생성
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 미만의 임의의 값 생성
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 이하의 임의의 값 생성
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), "일로 선정되었습니다.")