[ํ์ด์ฌํ๋ก๊ทธ๋๋ฐ๊ธฐ์ด] 07. ๋ฐ๋ณต๊ตฌ์กฐ
๐ผ ๋ฐ๋ณต ๊ตฌ์กฐ์ ์ ์
๐พ ๋ฐ๋ณต ๊ตฌ์กฐ์ ๊ฐ๋
ํน์ ์์ญ ๋ช ๋ น๋ฌธ ์ฌ๋ฌ ๋ฒ ์คํํ๋ ๊ตฌ์กฐ
โข ๋ฐ๋ณต ํ์๋ฅผ ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฒฐ์
โข loop, iterate, repeat ์ฉ์ด ํผ์ฉ
๐พ ๋ฐ๋ณต ๊ตฌ์กฐ์ ๊ตฌ๋ฌธ ํ์
• ๊ตฌ๋ฌธ ํ์ : ์กฐ๊ฑด ์ ์ด ๋ฐ๋ณต
โข ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฐ๋ณต ์ฌ๋ถ๋ฅผ ๋งค๋ฒ ํ๋จ
• ๊ตฌ๋ฌธ ํ์ : ๊ณ์ ์ ์ด ๋ฐ๋ณต
โข ๋ฐ๋ณต ํ์๋ฅผ ๋ฏธ๋ฆฌ ์ ์
๐พ ๋ฐ๋ณต ๊ตฌ์กฐ์ ์คํํ๋ฆ
# msg๋ฅผ 5๋ฒ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
msg = "์๋
ํ์ธ์"
# 5๋ฒ ๋ฐ๋ณต ์ถ๋ ฅ
count = 1
while count <= 5 :
print(msg)
count += 1
โข ๋ฌดํ ๋ฐ๋ณต์ ๊ตด๋ ์ ๋น ์ง์ง ์๋๋ก count๋ฅผ ์กฐ์ ํ์.
๐พ ๋ฐ๋ณต ๊ตฌ์กฐ ์ค๊ณ ์ ๋ต
๐ฏ 1๋ถํฐ ์ฌ์ฉ์ ์ ๋ ฅ๊ฐ n๊น์ง ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
# ์
๋ ฅ๋ฐ์ ๊ฐ (int๋ก ํ๋ณํ)
lastNum = int(input("์ํ๋ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์: "))
# ๋์ ๊ณต๊ฐ ์ด๊ธฐํ
sum = 0
i = 1
while i <= lastNum :
sum = sum + i
i += 1
print(sum)
โข ๋์ ์ ์ฐ์ผ ์ ์ฅ ๊ณต๊ฐ sum์ ๊ผญ ๋ฏธ๋ฆฌ ์ด๊ธฐํ ํด ์ฃผ์ด์ผ ํจ
๐ฏ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋จ์ ๊ตฌ๊ตฌ๋จ ์ถ๋ ฅ ํ๋ก๊ทธ๋จ
base = int(input("์ถ๋ ฅํ ๋จ์ ์
๋ ฅํ์ธ์: "))
i = 1
while i <= 9 :
result = base * i
print(base, "X", i, "=", result)
i += 1
๐ผ ๋ฆฌ์คํธ
๐พ ๋ฆฌ์คํธ์ ๊ฐ๋
โจ ์์ํ๋ ๊ฐ์ ์งํฉ์ฒด๋ฅผ ์ ์ฅํ ์ ์๋ ๊ฒ
• ๋จ์ผ ์๋ณ์๋ก ์ฐ์๋ ์ ์ฅ ๊ณต๊ฐ ์ ๊ทผ ์๋จ ์ ๊ณต
• ๊ฐ๋ณ ์์ ๊ฐ์ ์์ , ์ถ๊ฐ, ์ญ์ ๊ฐ๋ฅ
• ์์(element)์ ๋์ด์ ์ ์ฅํ ์ ์๋ ์ํ์ค ํ์
์ค ํ๋
(ํด๋น ์ญํ ์ ํ๋ ๊ฒ์ ๋ฆฌ์คํธ, ์ธํธ, ํฌํ, ๋์
๋๋ฆฌ ๋ฑ์ด ์๋ค)
๐พ ๋ฆฌ์คํธ์ ๊ตฌ์ฑ
โจ ์์๋ค์ ์์๋ฅผ ํํ
โข ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๋ฆฌ์คํธ๋ผ๋ ๋ฐ์ดํฐ ํ์ ์ด ์๋ค.
๐พ ๋ฆฌ์คํธ์ ์์ฑ
์ด๊ฑด ์กฐ๊ธ ๋ณต์กํ๋ ์๋์ฒ๋ผ ๋ง์ด ์
ex โข [1, 4, 14, 26, 31] ํน์ hei_list = [1, 4, 14, 26, 31]
ex2 โข body = [181, 78, "dark brown", "black"]
โ ์ฌ๋ฌ ๊ฐ์ ์์ ํ์
๋ ํ๋์ ๋ฆฌ์คํธ๋ก ๋ฌถ์ ์ ์์
๐พ ์ธ๋ฑ์ค ์ฐ์ฐ์
๋ฆฌ์คํธ ์์ ์๋ ํน์ ์์ ๋ช ๊ฐ์๋ง ์ ๊ทผํ๋ ค๋ฉด?
โจ ์ธ๋ฑ์ค ์ฐ์ฐ์ : ์ํ์ค ํ์ ์ ์์์ ์ ๊ทผํ๋ ์ฐ์ฐ์
• ์ ๊ทผ ์ฐ์ฐ์ [ ] ์ฌ์ฉ
• ์์์ ๋ถ์ฌ๋ ์ธ๋ฑ์ค ๋ฒํธ๋ก ์ง์นญ
• ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์
๐พ ๊ณ์ ์ ์ด ๋ฐ๋ณต์ ์ฌ์ฉ
• ๊ณ์-์ ์ด ๋ณ์์ ์ํ์ค ์ฌ์ฉ
• ๋ฐ๋ณต ์ ๊ณ์-์ ์ด-๋ณ์ ์ ์ํ์ค์ ์์ ํ ๋น
๐ฏ ์๋ฟ ๊ณ์ฐ ํ๋ก๊ทธ๋จ ๊ฐ์
โจ ๋ฐ์ง๋ฆ 10์ด๊ณ ๋์ด๊ฐ 1, 5, 14, 26, 31์ธ ์๋ฟ์ ๋ถํผ/๊ฒ๋์ด ๊ฐ๊ฐ ์ถ๋ ฅ
rad = 10
hei_list = [1, 5, 14, 26, 31]
for height in hei_list :
#๋ถํผ&๊ฒ๋์ด ๊ณ์ฐ
vol = 1/3 * 3.14 * rad ** 2 * height
surf = 3.14 * rad ** 2 + 3.14 * rad * height
print("๋ฐ์ง๋ฆ", rad, "๋์ด", height)
print("์๋ฟ์ ๋ถํผ๋" ,vol, "์
๋๋ค.")
print("์๋ฟ์ ๊ฒ๋์ด๋" ,surf, "์
๋๋ค")
๐พ ๋ฆฌ์คํธ ์์ฑ ์๋ํ
โจ ๋ฆฌ์คํธ ๋ด ์์์ ๊ท์น์ฑ์ด ์๋ ๊ฒฝ์ฐ ์์ฑ ์๋ํ๋ฅผ ์ํด ํจ์ ์ฌ์ฉ ๊ฐ๋ฅ
โข a ๋ถํฐ b ๋ณด๋ค ์์ ๊ฐ๊น์ง k ์ฉ ์ฆ๊ฐ์ํค๋ ์ํ์ค ์์ฑ
โข a ๋ฅผ ์๋ตํ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ 0 / k ๋ฅผ ์๋ตํ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ 1
๐ฏ ๋ฐ๋ณต ์ถ๋ ฅ ํ๋ก๊ทธ๋จ ๊ฐ์
# msg๋ฅผ 5๋ฒ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
msg = "์๋
ํ์ธ์"
# 5๋ฒ ๋ฐ๋ณต ์ถ๋ ฅ
count = 1
while count <= 5 :
print(msg)
count += 1
# range ํจ์ ์ฌ์ฉ
# 1~5
for count in range(1, 6) :
print(msg)
๐ฏ ์๋ฟ ๊ณ์ฐ ํ๋ก๊ทธ๋จ ๊ฐ์
โจ ๋ฐ์ง๋ฆ๊ณผ ๋์ด๊ฐ (10, 1) (20, 5) (30, 14) ์ธ ์๋ฟ์ ๋ถํผ์ ๊ฒ๋์ด ๊ฐ๊ฐ ์ถ๋ ฅ
rad_list = range(10, 31, 10)
hei_list = [1, 5, 14]
# zip() : ์ฌ๋ฌ ๋ฆฌ์คํธ์ ๊ฐ๋ค์ ํ๋์ฉ ์ฎ์ด ๊ฐ์ ธ์ค๋ ํจ์
for rad, hei in zip(rad_list, hei_list) :
#๋ถํผ&๊ฒ๋์ด ๊ณ์ฐ
vol = 1/3 * 3.14 * rad ** 2 * hei
surf = 3.14 * rad ** 2 + 3.14 * rad * hei
print("๋ฐ์ง๋ฆ", rad, "๋์ด", hei)
print("์๋ฟ์ ๋ถํผ๋" ,vol, "์
๋๋ค.")
print("์๋ฟ์ ๊ฒ๋์ด๋" ,surf, "์
๋๋ค")
๐ผ ๋ฐ๋ณต ๊ตฌ์กฐ์ ํ์ฅ
๐พ ์ค์ฒฉ ๋ฐ๋ณต ๊ตฌ์กฐ
โจ ๋ฐ๋ณต ๊ตฌ์กฐ ๋ด ๋ค๋ฅธ ๋ฐ๋ณต ๊ตฌ์กฐ๋ฅผ ๋ดํฌํ ํ์
๐พ format ํจ์
โจ ๋ฐ์ดํฐ๋ฅผ ์์์ ๋ง์ถฐ ํ์ํ
• ํ์ ์ง์ ์
> 10 S
> : ์ ๋ ฌ ๋ฐฉํฅ
10 : ํ๋ ํญ
s : ๋ฐ์ดํฐ ํ์
(d : ์ ์, s : ๋ฌธ์์ด)
โข ๋ฌธ์ ํ์ ์ ์ข์ธก ์ ๋ ฌ์ด ๊ธฐ๋ณธ
๐ฏ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋จ์ ๊ตฌ๊ตฌ๋จ ์ถ๋ ฅ ํ๋ก๊ทธ๋จ
print(format("๊ตฌ๊ตฌ๋จํ",">20s"))
# ํ ๋จธ๋ฆฌ ์ถ๋ ฅ
print(" |", end = "")
for j in range(1, 10):
print(" ", j, end = "")
# ์๋ก์ด ํ ์ฝ์
print()
print("-----------------------------------------")
# ๊ตฌ๊ตฌ๋จ ํ ์ถ๋ ฅ
for i in range(1, 10, 1) :
print(i, "|", end = "")
for j in range(1, 10, 1) :
print(format(i * j, ">4d"), end = "")
print()
# print() end ์ต์
์ ๊ฐํ์ด ๋๋ ๊ฒ์ ๋ง์ ์ ์๋ค.