์˜ฌ๋ฆผ (ceil)

ceil ํ•จ์ˆ˜ ์‚ฌ์šฉ

์˜ฌ๋ฆผ์€ ์ž…๋ ฅ๊ฐ’๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ํฐ ์ •์ˆ˜์ค‘ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 

np.ceil(3.0)
np.ceil(3.2)
np.ceil(5.8)

์ถœ๋ ฅ

3.0
4.0
6.0

 

๋‚ด๋ฆผ(floor)

floor ํ•จ์ˆ˜ ์‚ฌ์šฉ

๋‚ด๋ฆผ์€ ์ž…๋ ฅ๊ฐ’๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ์ž‘์€ ์ •์ˆ˜์ค‘ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ฌ๋ฆผ์˜ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค.  

print(np.floor(3.0))
print(np.floor(3.2))
print(np.floor(5.8))
print(np.floor(-3.2))
print(np.floor(-5.8))

์ถœ๋ ฅ

3.0
3.0
5.0
-4.0
-6.0

 

 

๋ฒ„๋ฆผ(trunc)

trunk ํ•จ์ˆ˜ ์‚ฌ์šฉ

์†Œ์ˆ˜์ ์„ ๊ทธ๋ƒฅ ๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์œผ๋กœ ๋‚ด๋ฆผ๊ณผ๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค. 

print(np.trunc(3.0))
print(np.trunc(3.2))
print(np.trunc(5.8))
print(np.trunc(-3.2))
print(np.trunc(-5.8))

์ถœ๋ ฅ

3.0
3.0
5.0
-3.0
-5.0

 

x์ถ• ํ•œ๊ธ€ ๋„ค๋ชจ

matplotlib๋กœ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆด ๋•Œ ํ•œ๊ธ€์ด ๋„ค๋ชจ๋กœ ๋‚˜์˜ค๋Š” ํ˜„์ƒ์„ ๋ฐœ๊ฒฌ..!

 

import pandas as pd
import matplotlib.pyplot as plt
#matplotlib ํŒจํ‚ค์ง€ ํ•œ๊ธ€ ๊นจ์ง ์ฒ˜๋ฆฌ ์‹œ์ž‘
plt.rc('font', family='Malgun Gothic') #์œˆ๋„์šฐ, ๊ตฌ๊ธ€ ์ฝœ๋žฉ
#plt.rc('font', family='AppleGothic') #๋งฅ
plt.rcParams['axes.unicode_minus'] = False #ํ•œ๊ธ€ ํฐํŠธ ์‚ฌ์šฉ์‹œ ๋งˆ์ด๋„ˆ์Šค ํฐํŠธ ๊นจ์ง ํ•ด๊ฒฐ
#matplotlib ํŒจํ‚ค์ง€ ํ•œ๊ธ€ ๊นจ์ง ์ฒ˜๋ฆฌ ๋

์„ ์œ„์— ์ž…๋ ฅํ•ด์ฃผ๋‹ˆ ํ•œ๊ธ€์ด ๋ฐ”๋กœ ๋‚˜์™”๋‹ค!


์ถœ์ฒ˜: https://wikidocs.net/45798

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž(Logical Operator)์—๋Š” AND, OR, NOT์ด ์žˆ๊ณ , ๊ฐ๊ฐ์˜ ์ง„๋ฆฌํ‘œ(Truth Table)์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

AND

AND ์—ฐ์‚ฐ(boolean AND)

input 2๊ฐœ๊ฐ€ ๋ชจ๋‘ boolean๊ฐ’์ด True์ธ ๊ฒฝ์šฐ์—๋งŒ ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ True๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ False๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

์ด๋Ÿฌํ•œ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์„ AND ์—ฐ์‚ฐ(boolean AND)์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๊ณ , · ์œผ๋กœ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ์ƒ๋žตํ•˜๋ฉฐ, ์ง‘ํ•ฉ ๊ธฐํ˜ธ ∩(๊ต์ง‘ํ•ฉ, intersection)๋กœ ํ‘œ์‹œํ•˜๊ธฐ๋„ ํ•œ๋‹ค. 

a = True
b = False
c = 11  # 0์ด ์•„๋‹ˆ๋ฏ€๋กœ True

print(a and b)
print(bool(a and c))

์ถœ๋ ฅ

False
True

 

OR

OR ์—ฐ์‚ฐ(boolean OR)

input 2๊ฐœ๊ฐ€ ๋ชจ๋‘ ๋ชจ๋‘ boolean๊ฐ’์ด False์ธ ๊ฒฝ์šฐ์—๋งŒ ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ False๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ True๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์„ OR ์—ฐ์‚ฐ(boolean OR)์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๊ณ , + ๋กœ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜, ์ง‘ํ•ฉ ๊ธฐํ˜ธ ∪(ํ•ฉ์ง‘ํ•ฉ, union)๋กœ ํ‘œ์‹œํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

a = True
b = False
c = 11  # True
d = 0   # False

print(a or b)       
print(bool(a or c))
print(bool(b or d))

์ถœ๋ ฅ

True
True
False

NOT

A A'
False True
True False

input 1๊ฐœ๊ฐ€ False๋ฉด ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ True๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , True์ด๋ฉด ๊ฒฐ๊ณผ ๊ฐ’์œผ๋กœ False๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

a = True
b = False
print(not(a))
print(not(b))

์ถœ๋ ฅ

False
True

 

 

XOR(๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ)

XOR(exclusive or, ๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ)

์ฐธ ๊ฑฐ์ง“์ด ์„œ๋กœ ๋‹ค๋ฅผ ๋•Œ์—๋งŒ True ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๋…ผ๋ฆฌ์—ฐ์‚ฐ์„ XOR(exclusive or, ๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ) ์—ฐ์‚ฐ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

# ์ฐธ ๊ฑฐ์ง“์ด ์„œ๋กœ ๋‹ค๋ฅผ ๋•Œ
c = bool(0)
d = bool(1)
print((c and (not d)) or ((not c) and d))  # True ์ถœ๋ ฅ

 

# ๋‘˜ ๋‹ค ์ฐธ์ผ ๋•Œ
c = bool(1)
d = bool(1)
print((c and (not d)) or ((not c) and d)) # False ์ถœ๋ ฅ

 

 

 

 

 

 

 

์ถœ์ฒ˜:
codeup.kr/problem.php?id=6056
https://wikidocs.net/96000

๋น„๊ต/๊ด€๊ณ„ ์—ฐ์‚ฐ์ž

์–ด๋–ค ๊ฐ’์„ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด ๋น„๊ต/๊ด€๊ณ„(comparison/relational) ์—ฐ์‚ฐ์ž(operator)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋น„๊ต/๊ด€๊ณ„์—ฐ์‚ฐ์ž < (less than sign) ๋Š”
์™ผ์ชฝ์˜ ๊ฐ’์ด ์˜ค๋ฅธ์ชฝ ๊ฐ’ ๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ True(์ฐธ)๋กœ ๊ณ„์‚ฐํ•˜๊ณ ,
๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” False(๊ฑฐ์ง“)๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

๋น„๊ต/๊ด€๊ณ„์—ฐ์‚ฐ์ž๋„ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์น™์—ฐ์‚ฐ์ž์ฒ˜๋Ÿผ ์ฃผ์–ด์ง„ ๋‘ ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ ,
๊ทธ ๊ฒฐ๊ณผ๋ฅผ True(์ฐธ), ๋˜๋Š” False(๊ฑฐ์ง“)๋กœ ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค.

๋น„๊ต/๊ด€๊ณ„์—ฐ์‚ฐ์ž๋Š” <, >, <=, >=, ==(๊ฐ™๋‹ค), !=(๋‹ค๋ฅด๋‹ค) 6๊ฐœ๊ฐ€ ์žˆ๋‹ค.

๋น„๊ต/๊ด€๊ณ„์—ฐ์‚ฐ์ž

์˜ˆ์‹œ

# True ์ถœ๋ ฅ
x=3
y=2
x>y
# False ์ถœ๋ ฅ
x<y

 

 

๋ถˆ(bool) ์ž๋ฃŒํ˜•

True(์ฐธ) ๋˜๋Š” False(๊ฑฐ์ง“) ๊ฐ’์œผ๋กœ๋งŒ ํ‘œํ˜„ํ•˜๊ณ  ์ €์žฅํ•˜๋Š” ๊ฐ’์„ ๋ถˆ(bool)/๋ถˆ๋ฆฌ์–ธ(boolean) ๊ฐ’์ด๋ผ๊ณ  ํ•œ๋‹ค.

  • True : ์ฐธ
  • False : ๊ฑฐ์ง“

์ž๋ฃŒํ˜•์˜ ์ฐธ๊ณผ ๊ฑฐ์ง“์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ธฐ์ค€

์˜ˆ์‹œ

# True ์ถœ๋ ฅ
bool('python')
bool([1,2,3])
bool(4)
# False ์ถœ๋ ฅ
bool('')
bool([])
bool(0)
์ถœ์ฒ˜: 
https://codeup.kr/problem.php?id=6048
https://wikidocs.net/17

์ •์ˆ˜ 1๊ฐœ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ 2๋ฐฐ ๊ณฑํ•ด ์ถœ๋ ฅํ•ด๋ณด์ž.

a = int(input())

print(a<<1) # a*2^1

์ •์ˆ˜๋ฅผ 2๋ฐฐ๋กœ ๊ณฑํ•˜๊ฑฐ๋‚˜ ๋‚˜๋ˆ„์–ด ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ๋น„ํŠธ๋‹จ์œ„์‹œํ”„ํŠธ์—ฐ์‚ฐ์ž <<, >>๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ปดํ“จํ„ฐ ๋‚ด๋ถ€์—๋Š” 2์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ๊ฐ’๋“ค์ด ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์—,
2์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’๋“ค์„ ์™ผ์ชฝ(<<)์ด๋‚˜ ์˜ค๋ฅธ์ชฝ(>>)์œผ๋กœ
์ง€์ •ํ•œ ๋น„ํŠธ ์ˆ˜๋งŒํผ ๋ฐ€์–ด์ฃผ๋ฉด 2๋ฐฐ์”ฉ ๋Š˜์–ด๋‚˜๊ฑฐ๋‚˜ 1/2๋กœ ์ค„์–ด๋“œ๋Š”๋ฐ,

์™ผ์ชฝ ๋น„ํŠธ์‹œํ”„ํŠธ(<<)๊ฐ€ ๋  ๋•Œ์—๋Š” ์˜ค๋ฅธ์ชฝ์— 0์ด ์ฃผ์–ด์ง„ ๊ฐœ์ˆ˜๋งŒํผ ์ถ”๊ฐ€๋˜๊ณ ,
์˜ค๋ฅธ์ชฝ ๋น„ํŠธ์‹œํ”„ํŠธ(>>)๊ฐ€ ๋  ๋•Œ์—๋Š” ์™ผ์ชฝ์— 0(0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜์ธ ๊ฒฝ์šฐ)์ด๋‚˜ 1(์Œ์˜ ์ •์ˆ˜์ธ ๊ฒฝ์šฐ)์ด ๊ฐœ์ˆ˜๋งŒํผ ์ถ”๊ฐ€๋˜๊ณ ,
๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” 1๋น„ํŠธ๋Š” ์‚ฌ๋ผ์ง„๋‹ค.

๋น„ํŠธ์‹œํ”„ํŠธ์—ฐ์‚ฐ

์˜ˆ์‹œ

n = 10
print(n<<1)  #10์„ 2๋ฐฐ ํ•œ ๊ฐ’์ธ 20 ์ด ์ถœ๋ ฅ๋œ๋‹ค.
print(n>>1)  #10์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ธ 5 ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.
print(n<<2)  #10์„ 4๋ฐฐ ํ•œ ๊ฐ’์ธ 40 ์ด ์ถœ๋ ฅ๋œ๋‹ค.
print(n>>2)  #10์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ ํ›„ ๋‹ค์‹œ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ธ 2 ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

์ •์ˆ˜ 10์˜ 2์ง„์ˆ˜ ํ‘œํ˜„์€ ... 1010 ์ด๋‹ค.
10 << 1 ์„ ๊ณ„์‚ฐํ•˜๋ฉด ... 10100 ์ด ๋œ๋‹ค ์ด ๊ฐ’์€ 10์ง„์ˆ˜๋กœ 20์ด๋‹ค.
10 >> 1 ์„ ๊ณ„์‚ฐํ•˜๋ฉด ... 101 ์ด ๋œ๋‹ค. ์ด ๊ฐ’์€ 10์ง„์ˆ˜๋กœ 5์ด๋‹ค.

n = 10 ๊ณผ ๊ฐ™์ด ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅ๋ฐ›์ง€ ์•Š๊ณ  ์ง์ ‘ ์ž‘์„ฑํ•ด ๋„ฃ์€ ์ฝ”๋“œ์—์„œ, ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋‹จ์–ด(์‹๋ณ„์ž, identifier)๋Š” ์ž๋™์œผ๋กœ ์ˆ˜๋กœ ์ธ์‹๋œ๋‹ค.  

n = 10 ์—์„œ 10 ์€ 10์ง„์ˆ˜ ์ •์ˆ˜ ๊ฐ’์œผ๋กœ ์ธ์‹๋œ๋‹ค.
๋ณ€์ˆ˜ n ์— ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, n = "10" ๋˜๋Š” n = '10'์œผ๋กœ ์ž‘์„ฑํ•ด ๋„ฃ์œผ๋ฉด ๋˜๊ณ ,

 

n = 10.0 ์œผ๋กœ ์ž‘์„ฑํ•ด ๋„ฃ์œผ๋ฉด ์ž๋™์œผ๋กœ ์‹ค์ˆ˜ ๊ฐ’์œผ๋กœ ์ €์žฅ๋œ๋‹ค.
n = 0o10 ์œผ๋กœ ์ž‘์„ฑํ•ด ๋„ฃ์œผ๋ฉด 8์ง„์ˆ˜(octal) 10์œผ๋กœ ์ธ์‹๋˜์–ด 10์ง„์ˆ˜ 8๊ฐ’์ด ์ €์žฅ๋˜๊ณ ,
n = 0xf ๋‚˜ n = 0XF ์œผ๋กœ ์ž‘์„ฑํ•ด ๋„ฃ์œผ๋ฉด 16์ง„์ˆ˜(hexadecimal) F๋กœ ์ธ์‹๋˜์–ด 10์ง„์ˆ˜ 15๊ฐ’์œผ๋กœ ์ €์žฅ๋œ๋‹ค.

 

** python์—์„œ ์‹ค์ˆ˜ ๊ฐ’์— ๋Œ€ํ•œ ๋น„ํŠธ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
(์‹ค์ˆ˜ ๊ฐ’๋„ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” 2์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜๊ณ  ๋น„ํŠธ์‹œํ”„ํŠธ ์ฒ˜๋ฆฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, python ์—์„œ๋Š” ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.)

 

์ •์ˆ˜ 2๊ฐœ(a, b)๋ฅผ a๋ฅผ 2b๋ฐฐ ๊ณฑํ•œ ๊ฐ’์œผ๋กœ ์ถœ๋ ฅํ•ด๋ณด์ž.

a = 2
b = 10
print(a << b)  #210 = 1024 ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

 

 

์ถœ์ฒ˜: codeup.kr/

ROUND(number, num_digits)

round(๋ฐ˜์˜ฌ๋ฆผํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐ’, ๋ฐ˜์˜ฌ๋ฆผํ•  ์ž๋ฆฟ์ˆ˜)

pi =  3.141592653589793

a = round(pi, 0) 
b = round(pi, 1) 
c = round(pi, 2)
d = round(pi, 3)

์ถœ๋ ฅ

3.0
3.1
3.14
3.142

fromat ์„œ์‹์œผ๋กœ ์†Œ์ˆ˜์  ๊ด€๋ฆฌ

y = 3.42134234
"{0:0.4f}".format(y)

์ถœ๋ ฅ

'3.4213'

 

 

ํŒŒ์ด์ฌ f-string์—์„œ ์†Œ์ˆ˜์  ๊ด€๋ฆฌ

y = 3.42134234
f'{y:0.4f}' #์†Œ์ˆ˜์  4์ž๋ฆฌ๊นŒ์ง€๋งŒ ํ‘œํ˜„

์ถœ๋ ฅ์€ ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

 

'%.nf'๋กœ ์†Œ์ˆ˜์  ๊ด€๋ฆฌ

"%0.4f" %3.42134234
#3.42134234 ๋ฅผ ์†Œ์ˆ˜์  ๋„ค ๋ฒˆ์งธ ์ž๋ฆฌ๊นŒ์ง€๋งŒ ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์—๋Š” ์œ„์™€ ๊ฐ™์ด ์‚ฌ์šฉ

์ถœ๋ ฅ์€ ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

 

str.split(sep=None, maxsplit=- 1)

sep ๋ฅผ ๊ตฌ๋ถ„์ž ๋ฌธ์ž์—ด๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์— ์žˆ๋Š” ๋‹จ์–ด๋“ค์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋Œ๋ ค์ค๋‹ˆ๋‹ค.

a = "Life is too short"
a.split()

์ถœ๋ ฅ

['Life', 'is', 'too', 'short']โ€‹

sep์‚ฌ์šฉ ์˜ˆ์‹œ

b = "a:b:c:d"
b.split(':')

์ถœ๋ ฅ

['a', 'b', 'c', 'd']

 : ๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.

 

str.split() ๊ณผ str.split(" ")์˜ ์ฐจ์ด

c = "apple banana  orange   pineapple"
print(c.split())
print(c.split(" "))

์ถœ๋ ฅ

['apple', 'banana', 'orange', 'pineapple']
['apple', 'banana', '', 'orange', '', '', 'pineapple']

์ถœ๋ ฅ๋ฌธ์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด (sep=" ")์œผ๋กœ ์ง€์ •ํ•˜๋ฉด split()๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ณต๋ฐฑ๋„ ๊ตฌ๋ถ„์ด ๋ฉ๋‹ˆ๋‹ค.

+ Recent posts