파이썬 Basic Step 4. 연산자 [<비트코딩 라이트📙> 문제 묻.따.따.]

리온·2022년 4월 17일
0

코딩문제집 책 <비트코딩 라이트 : 파이썬> 예제들을 "묻고. 따지면서. 따라풀기." for team daiv. study

모두를 위한 쉽고 재미있는 인공지능 컨텐츠 project 🌊deep diav.
instagram @deep.daiv
/ blog deepdaiv.oopy.io
team daiv.🌸

Part1 - Basic

STEP 04 연산자

반드시 익혀야 하는 자주 사용하는 이항연산자와 대입연산자

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에서 비트연산자까지 배운 다음에 정리해야겠다.

Example 029

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

Problem 030

A, B = 3, 7
C = B // A 
print(A, B, C)

#out

3 7 2

Problem 033

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

Problem 034

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 복소수형

Problem 036

A, B = 1, 1.0

print('''{}의 자료형은 {}
{}의 자료형은 {}'''.format(A, type(A), B, type(B)))

#자료형 확인하는 함수 type()
#format함수도 활용해서 코드 써봤음

#out

1의 자료형은 <class 'int'>
1.0의 자료형은 <class 'float'>

Problem 037

#출력결과 적기

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도 끄읕

profile
Wannabe Starlight

0개의 댓글