코딩문제집 책 <비트코딩 라이트 : 파이썬> 예제들을 "묻고. 따지면서. 따라풀기." for team daiv. study
모두를 위한 쉽고 재미있는 인공지능 컨텐츠 project 🌊deep diav.
instagram @deep.daiv / blog deepdaiv.oopy.io
team daiv.🌸
반드시 익혀야 하는 자주 사용하는 이항연산자와 대입연산자
1. 이항연산자
A + B
A - B
A * B
A / B
: + - × ÷ 사칙연산
A // B
A를 B로 나눈 정수 몫
A % B
A를 B로 나눈 나머지
A ** B
A의 B제곱
2. 대입연산자
기존 A값에 새로운 연산식을 대입하여 A값을 재선언
A += B
: A = A + B
A -= B
: A = A - B
A *= B
: A = A * B
A /= B
: A = A / B
A //= B
: A = A // B
A %= B
: A = A % B
A **= B
: A = A ** B
여러 가지 연산자를 사용할 때는 우선순위가 높은 순으로 연산을 처리함을 유의
*다음 step에서 비트연산자까지 배운 다음에 정리해야겠다.
A, B, C, D = 2, 7, 3, 17
print(A + B) #= 9
print(B % C) #= 1
print(A % B - C)
#= 2 - 3 = -1
print(D // B * A)
#= 2*2 = 4
print((A + B) * D // A)
#= 9 * 17 // 2 = 153 // 2 = 76
print(B ** A % A * C)
#= 49 % 2 * 3 = 3
print(D / (A ** (A**A + 1)) + 1)
#= 17 / 2**5 + 1= 17/32 + 1 = 0.53125 + 1 = 1.53125
print(C % (A * B) + D)
#= 3 % 14 + 17 = 3 + 17 = 20
print(C * (A * A) // A)
#= 12 // 2 = 6
print(D // (C**C - 5))
#= 17 // (27 - 5) = 17 // 22 = 0
#out
9
1
-1
4
76
3
1.53125
20
6
0
A, B = 3, 7
C = B // A
print(A, B, C)
#out
3 7 2
X, Y, Z, W = 11, 5, 7, 13
#1, 10, 100, 1000이 출력되도록 연산식 만들기
print(X // Z, X % Y, W - (Y + Z))
print(W - (W % Y))
print(Y**(W % Y) - (Y + Z + W), Y * (Z + W))
print((X - X // Z) ** (W % Y))
#out
1 1 1
10
100 100
1000
A, B, C = 1, 3, 5
#float형으로 출력되게 하기 -> '/'연산자 활용함
print(A / C * C) # 1/5 * 5
print(A / (A + B) * (B + C)) # 1/4 * 4
print(B / C * C) # 3/5 * 5
print((C + B) / (B - A)) # 8 / 2
print(B ** B / C - (C % B) / C) # 27 / 5 - 2 / 5
#out
1.0
2.0
3.0
4.0
5.0
integer
일반크기 정수형 long
매우 큰 정수형float
실수형complex
복소수형 A, B = 1, 1.0
print('''{}의 자료형은 {}
{}의 자료형은 {}'''.format(A, type(A), B, type(B)))
#자료형 확인하는 함수 type()
#format함수도 활용해서 코드 써봤음
#out
1의 자료형은 <class 'int'>
1.0의 자료형은 <class 'float'>
#출력결과 적기
int_1 = 1
int_2 = 3
long_1 = 2
float_1 = 0.5
complex_1 = 1 + 1j
A = int_1 + long_1
#1+2 = 3 int #정수형
B = int_2 + float_1
#3+0.5 = 3.5 float #실수형
C = float_1 + complex_1
#0.5 + 1 + 1j = 1.5 + 1j complex #복소수형
print(A, type(A))
print(B, type(B))
print(C, type(C))
#out
3 <class 'int'>
3.5 <class 'float'>
(1.5+1j) <class 'complex'>
나눗셈과 관련된 연산자들 (/, //, %)이 특히 헷갈리기 쉬운 것 같다.
출력될 자료형도 고려하면서 코드를 작성하는 Problem 034가 어려웠다.
Step 4도 끄읕