목차
3-1. 연산자
3-2. 간단한 수식
3-3. 숫자처리함수
3-4. 랜덤함수
3-5. 퀴즈#2
3-1. 연산자
파이썬에서 연산자를 사용할때는
먼저 산술연산자.
+(덧셈),-(뺄셈), *(곱셈),/(나눗셈),**(거듭제곱),//(몫),%(나머지) 가 있습니다.
print(1+1) # 2
print(3-2) # 1
print(5*2) # 10
print(6/3) # 2.0 파이썬에서는 / 연산자를 사용한 나눗셈의 결과는 항상 부동 소수점 수(float)로 반환합니다.
print(2**3) # 8
print(5%3) # 2
print(5//3) # 1
print(10//3) # 3
비교연산자도 있습니다.
==(양쪽이 같냐)
<,>(미만,초과)
<=,>=(크거나 같냐,작거나 같냐) [이상,이하]
!=(양쪽이 다르냐)
not(뒤에 있는 값의 반대) [1편에서도 했었습니다.]
and(앞과 뒤의 조건이 만족하냐) > and 대신 &로도 사용가능 합니다.
or(앞의조건이나 뒤의 조건중에 하나라도 만족하냐) > or 대신 | [백스페이스 밑에 달러모양]으로도 사용가능
print(10 > 3) # True
print(4 >= 7) # False
print(10 < 3) # False
print(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
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
3-2. 간단한 수식
앞에서 배웠던 연산자를 활용해 간단하게 수식을 만들 수 있습니다.
예를 들어 6 + 3 * 4 - 2 이것처럼요.
혹은, 변수를 지정해서도 사용 가능합니다.
변수 = 넣고싶은값
변수 += > 변수에 값을 더해줘라
변수 -= > 변수에서 값을 빼줘라
변수 *= > 변수에서 값을 곱해줘라
변수 /= > 변수에서 값을 나눠줘라
변수 %= > 변수에서 나머지를 구해줘라
print(2 + 3 * 4) # 14
print((2 + 3) * 4) # 20
number = 2 + 3 * 4
print(number) # 14
number = number + 2
print(number) # 16
number += 2
print(number) # 18
number *= 2
print(number) # 36
number /= 2
print(number) # 18.0
number -= 2
print(number) # 16.0
number %= 5
print(number) # 1.0
3-3. 숫자처리함수
abs() > ()안의 절댓값
pow() > ()안의 값 두개의 승 예) pow(4,2)이면 4의 2승 즉, 4를 2번곱한거(4x4)
max() > ()안의 값중에 큰 것을 반환
min() > ()안의 값중에 작은 것을 반환
round() > ()안의 값 반올림
또 파이썬에서 제공하는 math 라이브러리를 사용하는 방법도 있습니다.
from math import * 를 써주셔야 사용 가능합니다. 이건 무슨 뜻이냐면,
math 모듈에 있는 모든 함수를 현재 스크립트에 가져온다. 라고 생각하시면 되겠습니다.
floor() > 내림
ceil() > 올림
sqrt() > 제곱근 [이 함수 역시 부동 소수점 수로 반환합니다.]
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
from math import *
print(floor(4.99)) # 4
print(ceil(3.14)) # 4
print(sqrt(16)) # 4.0
3-4. 랜덤함수
랜덤 라이브러리를 사용하면 랜덤함수를 사용할 수 있습니다.
사용하려면 from random import * 을 코드 맨위에 써줘야합니다.
random() > 0.0부터 1.0미만의 임의의 값 예) 0.0014781212456...
random()*10 > 0.0부터 10.0 미만의 임의의 값 예) 6.00414448...
만약 뒤에 소수점이 보기가 싫으면 int로 감싸주는 방법이 있습니다.
int(random() * 10) > 0 ~ 10의 임의의 값이 나옵니다.
이를 활용해서
int(random() * 45) + 1 > 로또값을 출력되게 할 수 있습니다. [+1을 넣은 이유는 0이 출력되면 안되기 때문입니다.]
로또는 1부터 45번까지의 숫자가 6번 나옵니다.
그러면 int(random() * 45) + 1 이 문장을 6번 사용하면 6개의 임의의 값이 나오겠죠?
또다른 방법으로는
randrange() > ()안 사이의 임의의 값 예) randrange(1, 46) > 1 ~ 46 미만의 임의의 값 생성
randint() > ()안 사이의 임의의 값 예) randint(1, 45) > 1 ~ 45 이하의 임의의 값 생성
from random import *
print(random())
print(random()*10)
print(int(random() * 10))
print(int(random() * 45 + 1))
print(randrange(1, 46))
print(randint(1, 45))
3-5. 퀴즈#2
Quiz) 당신은 최근에 코딩 스터디 모임을 새로 만들었습니다.
월 4회 스터디를 하는데 3번은 온라인으로 하고 1번은 오프라인으로 하기로 했습니다.
아래 조건에 맞는 오프라인 모임 날짜를 정해주는 프로그램을 작성하시오.
조건1 : 랜덤으로 날짜를 뽑아야 함
조건2 : 월별 날짜는 다름을 감안하여 최소 일수인 28 이내로 정함
조건3 : 매월 1~3일은 스터디 준비를 해야 하므로 제외
출력문 예제 : 오프라인 스터디 모임 날짜는 매월 x 일로 선정되었습니다.
우선 랜덤으로 날짜를 뽑아야하니까 위에서 배운 랜덤 라이브러리를 사용해야겠군요.
from random import *
그리고 "월별 날짜는 다름을 감안하여 최소 일수인 28 이내로 정함"이라는 조건과
"매월 1~3일은 스터디 준비를 해야 하므로 제외" 이라고 했습니다.
이 뜻은, 4일과 28일 사이의 값을 랜덤으로 뽑아줘야 한다. 라는 뜻입니다.
그럼 한번 코드를 작성해볼까요?
위에서 배운 randint() 를 한번 사용해보죠.
day = randint(4, 28)
print("오프라인 스터디 모임 날짜는 매월 "+str(day)+" 일로 선정되었습니다.")
'Python' 카테고리의 다른 글
Python(6) 활용1 (0) | 2024.11.04 |
---|---|
Python(5) 기초 마무리 (0) | 2024.11.03 |
Python(4) 반복문과 함수 (0) | 2024.11.02 |
Python(3) 문자열 , 자료구조 (0) | 2024.11.01 |
Python(1) 첫 시작. (0) | 2024.10.30 |