4์ฐจ์ ์ฃผ์ ๋ ๋ฐ๋ณต๋ฌธ์ ๋๋ค.
1. ๋ฐ๋ณต๋ฌธ
1) ๋ฐ๋ณต๋ฌธ์ ๊ฐ๋
- ๋ฐ๋ณต๋ฌธ loop : ์ ํด์ง ๋์์ ๋ฐ๋ณต์ ์ผ๋ก ์ํํ ๋ ์ฌ์ฉํ๋ ๋ช
๋ น์ด
- ํ์ 100๋ช ์ ์ฑ์ ์ฐ์ถ
- ์ผํ๋ชฐ์์ ์ํ ์ถ์ฒ
- MS ์๋์์ ๋จ์ด ๋ฐ๊พธ๊ธฐ ๋ช ๋ น ์คํ
- ์ผํ๋ชฐ์์ ์ํ ์ถ์ฒ → ์ฌ์ฉ์์ ์ํ ๊ตฌ๋งค ํน์ง๊ณผ ๋ค๋ฅธ ์ํ ๊ฐ์ ํน์ง ๋น๊ต๊ฐ ๊ณ์๋์ด์ผ ํจ. ํ ๋ฒ์ ์ผ์ด๋๋ ๊ฒ์ด ์๋ ์ฌ๋ฌ ์ ํ์ ์ฐจ๋ก์ฐจ๋ก ๋น๊ตํ๋ฏ๋ก ๋ฐ๋ณต์ด ์ผ์ด๋ ์๋ฐ์ ์์.
- MS ์๋์์ ๋จ์ด ๋ฐ๊พธ๊ธฐ ๋ช ๋ น ์คํ → ๊ฐ ๋จ์ด๊ฐ ๋ฐ๊พธ๊ณ ์ ํ๋ ๋จ์ด์ ๋น์ทํ์ง ๋น๊ตํ๋ ๊ณผ์ ์ด ํ์, ์ด๋ฅผ ์ ์ฒด ๋จ์ด์ ์ ์ฉํ๊ธฐ ์ํด ๋จ์ด๋ฅผ ์ฐพ๋ ๊ณผ์ ์ด ๊ณ์ ์ํ๋์ด์ผ ํจ.
- ๋ชจ๋ ํ๋ก๊ทธ๋จ์์ ํต์ฌ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฐ๋ณต๋ฌธ!
- ๋ฐ๋ณต ์์ ์กฐ๊ฑด, ์ข ๋ฃ ์กฐ๊ฑด, ์ํ ๋ช ๋ น์ผ๋ก ๊ตฌ์ฑ๋จ.
- ๋ค์ฌ์ฐ๊ธฐ์ ๋ธ๋ก์ผ๋ก ๊ตฌ๋ถํจ.
- ๋ช ๋ น ํค์๋๋ for, while์ด ์์.
2) for๋ฌธ
- ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ๋ณต๋ฌธ. ๋ฐ๋ณต ๋ฒ์๋ฅผ ์ง์ ํ์ฌ ๋ฐ๋ณต์ ์ํํจ.
for looper in [1, 2, 3, 4, 5]:
print("hello")
- [1, 2, 3, 4, 5]์ ์๋ ๊ฐ์ ํ ๋ฒ์ฉ ์ํํ๋ฏ๋ก, ์ด ๋ค์ฏ ๋ฒ์ ๋ฐ๋ณต์ด ์ผ์ด๋ ‘hello’๊ฐ ๋ค์ฏ๋ฒ ์ถ๋ ฅ๋๋ ๊ฒ.
for ์ ๋ ฅ ํ ๋ฐ๋ณต๋๋ ๋ฒ์ ์ง์ ํด์ผ ํจ. ๋ฒ์๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๊ฐ ์์.
- ๋ฆฌ์คํธ ์ฌ์ฉ
๋ณ์ ์์ฒด๋ฅผ ์ถ๋ ฅํ๊ธฐ.
for looper in [1, 2, 3, 4, 5]:
print(looper)
- range ํค์๋ ์ฌ์ฉ
for looper in range(100):
print("hello")
- range ๋ฌธ๋ฒ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ
๐๐ป for ๋ณ์ in range(์์ ๋ฒํธ, ๋ง์ง๋ง ๋ฒํธ, ์ฆ๊ฐ๊ฐ)
์์ ๋ฒํธ, ์ฆ๊ฐ๊ฐ ์๋ต ๊ฐ๋ฅํจ. ์๋ต ์, ์์๋ฒํธ๋ 0, ์ฆ๊ฐ๊ฐ์ 1๋ก ์ค์ ๋จ.
- tip: ๋ฐ๋ณต๋ฌธ์์ ์์๋๋ฉด ์ข์ ์์
- ๋ฐ๋ณต๋ฌธ์ ๋ณ์๋ ๋๋ถ๋ถ i, j, k๋ก ์ง์ ํจ. ์ํ์์ ๋ณ์๋ฅผ ๋๋ถ๋ถ x, y, z๋ก ์ง์ ํ๋ ๊ฒ๊ณผ ๋น์ทํจ.
- ๋ฐ๋ณต๋ฌธ์ ๋๋ถ๋ถ 0๋ถํฐ ๋ฐ๋ณต์ ์์ํจ. 0๋ถํฐ ์์ํ๋ ์ด์ง์์ ํน์ง ๋๋ฌธ์ ๋๋ถ๋ถ์ ์ธ์ด๊ฐ 0๋ถํฐ ์ธ๋ฑ์ค๋ฅผ ์์ํจ.
- ๋ฐ๋ณต๋ฌธ์ ์๋ชป ์์ฑํ๋ฉด ๋ฌดํ ๋ฃจํ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์. ๋ฌดํ ๋ฃจํ๋ CPU์ ๋ฉ๋ชจ๋ฆฌ ๋ฑ ์ปดํจํฐ์ ๋ฆฌ์์ค๋ฅผ ๊ณผ๋ค ์ ์ ํ์ฌ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์์ ์ํฅ์ ๋ฏธ์นจ.
๋ฌธ์์ด์์ ๊ฐ ๋ฌธ์๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ๊ธฐ
for i in 'abcdefg':
print(i)
๋ฌธ์์ด ๋ฆฌ์คํธ๊ฐ ์ถ๋ ฅํ๊ธฐ
for i in ['americano', 'latte', 'frappuccino']:
print(i)
range ๊ตฌ๋ฌธ์ ํน์ฑ์ ์ด์ฉํ์ฌ ๋ฐ๋ณต๋ฌธ ๋ง๋ค๊ธฐ
for i in range(1, 10, 2): # 1๋ถํฐ 9๊น์ง 2์ฉ ์ฆ๊ฐ์ํค๋ฉด์ ๋ฐ๋ณต๋ฌธ ์ํ
print(i)
10๋ถํฐ 2๊น์ง 1์ฉ ๊ฐ์์ํค๋ ๋ฐ๋ณต๋ฌธ ๋ง๋ค๊ธฐ
for i in range(10, 1, -1): # 10๋ถํฐ 2๊น์ง 1์ฉ ๊ฐ์์ํค๋ฉด์ ๋ฐ๋ณต๋ฌธ ์ํ
print(i)
3) while๋ฌธ
- ์ด๋ค ์กฐ๊ฑด์ด ๋ง์กฑํ๋ ๋์ ๋ช ๋ น ๋ธ๋ก์ ์ํ,(if๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ด ๊ฒฐํฉํ ํํ๋ผ๊ณ ๋ณด๋ฉด ๋จ)
- ํด๋น ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ, ๋์ด์ ๋ฐ๋ณต ๋ช ๋ น๋ฌธ์ ์ํํ์ง ์๋ ๊ตฌ๋ฌธ
- ์์๋ก ์ดํด๋ณด์.
i = 1 # i ๋ณ์์ 1 ํ ๋น
while i < 10: # i๊ฐ 10 ๋ฏธ๋ง์ธ์ง ํ๋จ
print(i) # ์กฐ๊ฑด์ ๋ง์กฑํ ๋ i ์ถ๋ ฅ
i += 1 # i์ 1์ ๋ํ๋ ๊ฒ์ ๋ฐ๋ณตํ๋ค๊ฐ i๊ฐ 10์ด ๋๋ฉด ๋ฐ๋ณต ์ข
๋ฃ
for๋ฌธ๊ณผ while๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฌํ๋ฉฐ, ์๋ก ๋ณํ์ด ๊ฐ๋ฅํจ. ํ์ง๋ง ๊ตฌ๋ฌธ์ ์ฐ์์ ์ฐจ์ด๊ฐ ์์.
for๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ๋ณต ํ์๋ฅผ ์ ํํ๊ฒ ์๊ณ ์๊ณ , ๋ฐ๋ณต ํ์๊ฐ ๋ณํ์ง ์์ ๋ ์ฌ์ฉํจ.
while๋ฌธ์ ๋ฐ๋ณต ์คํ ํ์๊ฐ ๋ช ํํ์ง ์๊ณ ์ด๋ค ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๊ณ ์ ํ ๋ ์ฌ์ฉํจ.
์๋ฅผ ๋ค์ด, ํ์๋ค์ ์ฑ์ ์ ์ฑ์ ํ๋ ํ๋ก๊ทธ๋จ ๋ง๋ค๋
→ ์ด๋ฏธ ํ์์ด ๋ช ๋ช ์ธ์ง ๋ช ํํ๊ฒ ์๊ณ ์์ผ๋ฏ๋ก for๋ฌธ ์ฌ์ฉ์ด ์ข์.
ํ์ง๋ง, ๊ฐ์๋ฐ์๋ณด๋ฅผ ํ๋๋ฐ ‘์ด๊ธฐ๋ฉด ์ข ๋ฃํ๋ผ’๋ผ๋ ์กฐ๊ฑด์ ์ค๋ค๋ฉด
→ ์ธ์ ์ด๊ธธ์ง ๋ชจ๋ฅด๋ฏ๋ก while๋ฌธ ์ฌ์ฉ์ด ์ข์.
2. ๋ฐ๋ณต๋ฌธ์ ์ ์ด
1) break๋ฌธ
- ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ฐ๋ณต์ ์ข ๋ฃํ๋ ๋ฐฉ๋ฒ. ๋ฐ๋ณต๋ฌธ์ ๊ฐ์ ๋ก ์ข ๋ฃ์ํด.
for i in range(10):
if i == 5: break
print(i)
print("End of Program")
2) continue๋ฌธ
- ํน์ ์กฐ๊ฑด์์ ๋จ์ ๋ช ๋ น์ ๊ฑด๋๋ฐ๊ณ ๋ค์ ๋ฐ๋ณต๋ฌธ์ ์ํํจ.
for i in range(10):
if i == 5: continue
print(i)
print("End of Program")
3) else๋ฌธ
- ์ด๋ค ์กฐ๊ฑด์ด ์์ ํ ๋๋ฌ์ ๋ ํ๋ฒ ๋ ์คํํด์ฃผ๋ ์ญํ ์ ํจ.
- else๋ฌธ์ ์ฐ์ง ์์๋ ํด๋น ๋ฐ๋ณต๋ฌธ์ด ๋ชจ๋ ์ํ๋๋ฉด ๋ค์ ์ฝ๋๋ฅผ ์ํํ๋ฏ๋ก ํ์์์ด ๋ณด์ด๋ ๊ตฌ๋ฌธ์ด๊ธฐ๋ ํจ. ํ์ง๋ง ํด๋น ๋ฐ๋ณต๋ฌธ์ด ์ค๊ฐ์ ์ข ๋ฃ์์ด ์๋ฒฝํ ์ํ๋์๋์ง๋ฅผ ๋ช ์์ ์ผ๋ก ํ์ธํ๊ธฐ ์ํด ํ์ํ๋ค๊ณ ๋ณด๋ฉด ๋จ.
for i in range(10):
print(i)
else:
print("End of Program")
์ ์ด ๊ตฌ๋ฌธ๋ค์ ๋๋๋ก ์ฌ์ฉํ์ง ์๋ ๊ฒ์ ๊ถํจ.
ํนํ, ๊ธด ์ฝ๋ ์์ฑ ์ ์ค๊ฐ์ break, continue๋ฌธ์ด ์๋ค๋ฉด ์๋์น ์๊ฒ ์ฝ๋๊ฐ ์ค์๋ํ ๊ฐ๋ฅ์ฑ์ด ์์.
ํนํ ๋ง์ ์ฌ๋๊ณผ ํจ๊ป ์ฝ๋ฉํ ๊ฒฝ์ฐ ์ด๋ฌํ ์ฝ๋๋ค๋ก ์ธํ์ฌ ์์ธกํ์ง ๋ชปํ ์๋์ ํ ์ ์์ผ๋ฏ๋ก ์ฃผ์๊ฐ ํ์ํจ.
3. ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ ์ค์ต
1) ๋ฌธ์์ด ์ญ์ ์ถ๋ ฅ
sentence = "I love you"
reverse_sentence = ' '
for char in sentence:
reverse_sentence = char + reverse_sentence
print(reverse_sentence)
- sentence ๋ณ์์ ์๋ “I love you”๋ผ๋ ๊ธ์๋ฅผ char ๋ณ์์ ์ ์ฅํ ํ, ์ญ์์ผ๋ก reverse_sentence์ ๋ถ์ฌ๋ฃ๋ ๊ตฌ์กฐ
2) ์ญ์ง์์ ์ด์ง์ ๋ณํ
์ญ์ง์๋ฅผ ์ด์ง์๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ : ์ญ์ง์ ์ซ์๋ฅผ 2๋ก ๊ณ์ ๋๋ ํ ๊ทธ ๋๋จธ์ง๋ฅผ ์ญ์์ผ๋ก ์ทจํจ.
decimal = 10
result = ' '
while (decimal > 0):
remainder = decimal % 2 # ๋๋จธ์ง๋ฅผ ๊ตฌํด remainder ๋ณ์์ ์ ์ฅ
decimal = decimal // 2 # ํ์ฌ์ ์ญ์ง์๋ฅผ 2๋ก ๋๋ ๋ชซ์ ๋ค์ decimal ๋ณ์์ ์ ์ฅ
result = str(remainder) + result # ๊ฐ์ ์ญ์์ result ๋ณ์์ ์ ์ฅ
print(result)
4. ์ฝ๋์ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ
1) ๋ฒ๊ทธ์ ๋๋ฒ๊ทธ
- ๋ฒ๊ทธ bug : ํ๋ก๊ทธ๋๋ฐ์์ ๋ฐ์ํ๋ ์ค๋ฅ
- ๋๋ฒ๊ทธ debug : ์ค๋ฅ๋ฅผ ์์ ํ๋ ๊ณผ์
- ๋๋ฒ๊น debugging : ์ฝ๋์์ ์ค๋ฅ๋ฅผ ๋ง๋ฌ์ ๋ ์๋ชป์ ์ฐพ์๋ด๊ณ ๊ณ ์น๋ ๊ฒ
2) ์ค๋ฅ์ ์ข ๋ฅ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
- ๋ฌธ๋ฒ์ ์ค๋ฅ
์ฝ๋ฉ ๊ณผ์ ์์ ์ธํฐํ๋ฆฌํฐ๊ฐ ํด์์ ๋ชปํด ์ฝ๋ ์์ฒด๋ฅผ ์คํ์ํค์ง ๋ชปํ๋ ์ค๋ฅ.
- ๋ค์ฌ์ฐ๊ธฐ ์ค๋ฅ indentation error๋ฌธ๋ฒ์ ์ค๋ฅ๋ ํ์ด์ฌ ํ์ผ์ ์คํ์์ผฐ์ ๋ ๊ณง๋ฐ๋ก ๋ฌธ๋ฒ์ ์ค๋ฅ์์ ์๋ ค์ค.์ค๋ฅ๊ฐ ๋ฐ์ํ ๋ถ๋ถ์ ๊บพ์ ํ์( ^ )๋ฅผ ํ๊ณ ์ค๋ฅ ์ข ๋ฅ์ ํจ๊ป ‘unexpected indent’๋ผ๊ณ ๋ํ๋.
- ์ค๋ฅ๊ฐ ๋ฐ์ํ ํ์ผ ๊ฒฝ๋ก์ line number๋ฅผ ์ถ๋ ฅํจ.
- x = 2 y = 5 print(x + y)
- ์คํ์๋ก ์ธํ ์ค๋ฅ‘NameError’๋ผ๋ ์ค๋ฅ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋จ.
- ๊ดํธ ๋ฑ์ ์๋ชป ์ฌ์ฉํ์ ๋ ๋ฐ์ํ๋ ‘ValueError’๋ ์์ฃผ ๋ฐ์ํจ.
- pront (x + y) # print๊ฐ ์๋ pront๋ก ์์ฑ korean = "ACE" print(Korean) # korean์ด ์๋ Korean์ผ๋ก ์์ฑ
์ค๋ฅ ๋ฉ์์ง๋ ์ฒ์ ๋ํ๋ฌ์ ๋ ๊ผผ๊ผผํ ์ฝ์ด๋ณด๊ณ ๋ฐ๋์ ์์ ํ๋๋ก ํ์.
- ๋ ผ๋ฆฌ์ ์ค๋ฅ
- ์ฝ๋๋ฅผ ์ ๋๋ก ์์ฑํ๋ค๊ณ ์๊ฐํ์์๋ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋์ง ์๋ ๊ฒฝ์ฐ, ‘๋ ผ๋ฆฌ์ ์ค๋ฅ๊ฐ ์๋ค’, ‘๋ฒ๊ทธ๊ฐ ์๋ค’๊ณ ํํํจ.
- ๋ ผ๋ฆฌ์ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ธ์ด ํ์ํ ๋ณ์๋ค์ ๊ฐ์ print( ) ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅํด๋ณด๊ธฐ.
์ฌ๋ค๋ฆฌ๊ผด ๋์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ ์์ฑ์ ํตํด ์์๋ณด์.
๐๐ป ์ฌ๋ค๋ฆฌ๊ผด ๋์ด ๊ตฌํ๋ ๊ณต์ : ‘{(๋ฐ๋ณ + ์๋ณ)/2} * ๋์ด’
def addition(x, y):
return x + y
def divided_by_2(x):
return x / 2
def main():
base_line = float(input("๋ฐ๋ณ์ ๊ธธ์ด๋?"))
upper_edge = float(input("์๋ณ์ ๊ธธ์ด๋?"))
height = float(input("๋์ด๋?"))
print("๋์ด๋:", divided_by_2(addition(base_line, upper_edge) * height))
if __name__ == '__main__':
main()
if name == 'main' ๊ตฌ๋ฌธ๊ณผ main( ) ํจ์๋ฅผ ์ถ๊ฐํด ์ด๋ก ์ธํด ์ฝ๋๊ฐ ์คํ๋ ์ ์๋๋ก ์์ ํจ. ํ์ด์ฌ ํ์ผ์ ์คํํ๋ฉด ๊ฐ์ฅ ๋จผ์ if๋ฌธ์ผ๋ก ์ด๋ํ ๋ค์ main( ) ํจ์๋ฅผ ํธ์ถํ๋ ๊ตฌ์กฐ์.
- tip: ์ค๋ฅ ์ค์ค๋ก ํด๊ฒฐํ๊ธฐStack Overflow ์ฌ์ดํธ๋ฅผ ํตํด ๋ฌธ์ ํด๊ฒฐํด๋ณด๊ธฐ(๊ฐ๋ฐ์๋ค Q&A ์ฌ์ดํธ)
- Stack Overflow - Where Developers Learn, Share, & Build Careers
- ๊ตฌ๊ธ์์ ๊ฒ์ํ๊ธฐ
'๐ ์คํฐ๋ > ํ์ด์ฌ ์คํฐ๋ ๊ฐ์์๋ฃ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[1ํ/ํ์์] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.30 |
---|---|
[2ํ/๊น๊ฐ๋ฆผ, ์ต๋ค์] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.30 |
[1ํ/์ง๋ค์ธ] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.30 |
[3ํ/๊น๊ฒฝ์] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.29 |
[2ํ/๊น์ธ์ฐ] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.29 |