continue๋ฌธ๊ณผ break๋ฌธ์ ๊ธฐ๋ณธ์ ๋๋ค!
ํ์ง๋ง ์ด๋ ค์ด ๋ฌธ์ ์์ ๋ถ๊ธฐ๋ณ ์ผ์ด์ค๋ฅผ ์ ๋ถ๋ฅํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ํ์คํ๊ฒ ์๊ณ ์์ด์ผ ํ๋ ๋ถ๋ถ์ ๋๋ค
โ๏ธํ์ด์ฌ continue & break ๋ฌธ ์ด๋?
ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ์์ for๋ฌธ์ด๋ while๋ฌธ์ ์ฐ๋ค๋ณด๋ฉด ์ด๋ค ์กฐ๊ฑด์ผ๋ ๋ฐ๋ณต๋ฌธ ์์ฒด๋ฅผ ๋น ์ ธ๋์ค๊ฑฐ๋ ์ด๋ค ์กฐ๊ฑด์์๋ ๊ฑด๋๋ฐ์ด์ผ ํ๋ ์์ธ์ฌํญ์ด ์๊ธธ ๋๊ฐ ์์ต๋๋ค.
์ด๋ด๋ ์ฌ์ฉํ๋๊ฒ์ด continue & break ๋ฌธ ์ ๋๋ค.
โ๏ธcontinue๋ฌธ์ ์ด๋ค ์กฐ๊ฑด์ผ๋๋ ๋ฐ๋ณต๋ฌธ ์์ ๋ช ์๋ ์ํ ์ฝ๋๋ฅผ ๊ฑด๋๋ฐ๊ฒ ํ๊ณ ์๋ ์คํ ์ค์ด๋ for๋ฌธ ๋ฑ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ค์ ๋์์ค๊ฒ ํฉ๋๋ค
for route in routes:
isFalse = False
for i in range(1, int(dist) + 1):
if nx < 0 or ny < 0 or nx > N-1 or ny > M-1:
isFalse = True
break
if park[nx][ny] == 'X':
isFalse = True
break
if isFalse:
continue
๋ถ๊ธฐ๊ฐ ๋ง์ฝ ๋ค์๊ณผ ๊ฐ์ด ์งํ๋๋ค๋ฉด, ์ธ๋ถ for๋ฌธ๊ณผ ๋ด๋ถ for๋ฌธ ์์์ if ์กฐ๊ฑด์ ์ด ์ ์ฉ๋ ๊ฒฝ์ฐ True๊ฐ ๋๋ ๋์์ break๋ก ํ์ฌ ์งํ์ค์ด๋ ๋ด๋ถ for๋ฌธ์ ๋น ์ ธ๋์ค๊ฒ ๋๊ณ ,
๋ด๋ถ for๋ฌธ์ด ๋๋ ํ ์คํ๋๋ if isFalse:๋ถ๋ถ์์ continue๋ฌธ์ด ์ ์ฉ๋์ด ๋ค์ ์ธ๋ถ์ for๋ฌธ์ผ๋ก ๋ค์ ๊ฒ์ด ์งํ๋๊ฒ ๋ฉ๋
๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ธ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ๋ค
โ๏ธbreak๋ ํน์ ์กฐ๊ฑด์ผ๋ ์์ ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋์ค๊ฒ ํฉ๋๋ค.
ํ๋ก๊ทธ๋๋ฐ์์ ๋งค์ฐ ์ค์ํ ํฌ์ธํธ๊ฐ ๋๊ฒ ์ฃ .
num = 0
while 1:
print(num)
if num == 10:
break
num += 1
์๋ฅผ ๋ค์ด ์์ ๊ฐ์ ์ฝ๋๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ค๋ฉด, while 1 : ์ด ๋ถ๋ถ์ด ์๋ฏธํ๋๊ฒ์ ๋ฌดํ๋ฐ๋ณต์ ์๋ฏธ ํฉ๋๋ค.
์๋ง ์ด ์ฝ๋๋ด์ break๋ฌธ์ด ์๋ค๋ฉด ์ด ์ฝ๋๋ ๋ฌดํํ๊ฒ ๋ฐ๋ณต์ ํ๊ฒ ๋๊ฒ ์ฃ .
์์ ์ฝ๋๋ด๋ถ๋ฅผ ๋ณด๋ฉด if๋ฌธ์ด ์๋๋ฐ num์ด 10์ด ๋๋ฉด break๋ฅผ ํ๋ผ๊ณ ํฉ๋๋ค.
๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์๋์ ๊ฐ์ฃ .
ํ์ด์ฌ continue & break ๋ฌธ ์ด๋?
์ด๊ฒ break๋ฌธ์ ์ญํ ์ ๋๋ค. ์๋์ฐจ๋ ์์ ๊ฑฐ์ break์ ์๋ฏธ๊ฐ ๋น์ทํ๊ฒ ๋๊ปด์ง๋์?
๊ทธ๋ผ ์๋์์ continue ์ break๋ฌธ์ ๋ํ ์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ๋ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
โ๏ธํ์ด์ฌ continue ๋ฌธ ์ฌ์ฉ์์
๋จผ์ continue ๋ฌธ์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ํ์ ์ธ continue๋ฌธ์ ์์ ๋ ์ง์, ํ์ ์ถ๋ ฅ ์ ๋๋ค.
์์ ์ฝ๋๋ฅผ ๋ณด๊ฒ ์ต๋๋ค.
for num in range(1,15) :
if num%2 == 1 :
continue
print("{0} ์ ์ง์ ์
๋๋ค.".format(num))
for๋ฌธ์์ num์ด๋ผ๋ ๋ณ์์ 1๋ถํฐ 14๊น์ง๊ฐ ์ ์ฅ ๋๋๋ก range ํจ์๋ก ๋ณ์๋ฅผ ์ ์ธ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐ๋ก ์๋ if ๋ฌธ์ผ๋ก num%2 == 1 ์ด๋ผ๊ณ ๋์ด ์๋๋ฐ, ์ด ์ฝ๋๊ฐ ์๋ฏธ ํ๋๊ฒ์ num์ 2๋ก ๋๋์์๋ ๋๋จธ์ง๊ฐ 1์ด๋ฉด.. ์ด๋ผ๋ ๋ป ์ ๋๋ค.
์ฆ, ํ์๋ฅผ ์๋ฏธ ํ๋๊ฒ ์ด๊ฒ ์ฃ ? num์ด ํ์์ด๋ฉด continue ํ๋ผ๋ ์๋ฏธ ์ ๋๋ค. ์ ์ผ ์๋ ์๋ print๋ฌธ์ ์ถ๋ ฅํ์ง ๋ง๊ณ ์ง๋๊ฐ๋ผ๋ ๋ป์ธ๊ฑฐ์ฃ .
๊ทธ๋ผ ์ง์๋ง ์ถ๋ ฅ์ด ๋๋ฉด์ print๋ฌธ์ ๋ฉ์์ง๊ฐ ๋์ค๊ฒ ์ฃ ?
ํ์ด์ฌ continue ๋ฌธ ์ฌ์ฉ์์ 1
์ด๋ ๊ฒ ๋ง์ด์ฃ .
๊ทธ๋ผ ์ด๊ฑธ ํ์๋ง ๋์ค๊ฒ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
์ฝ๋๋ง ์ด์ง ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋ฉ๋๋ค. ์๋์ ๊ฐ์ด..
for num in range(1,15) :
if num%2 == 0 :
continue
print("{0} ์ ํ์ ์
๋๋ค.".format(num))
๊ฒฐ๊ณผ๋ ์์ํ์๋ ๋ฐ์ ๊ฐ์ด ์๋์ฒ๋ผ ๋์ค๊ฒ ๋ฉ๋๋ค.
ํ์ด์ฌ continue ๋ฌธ ์ฌ์ฉ์์ 2
โ๏ธํ์ด์ฌ break ๋ฌธ ์ฌ์ฉ์์
break๋ฌธ์ ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋๊ฐ๋ ๋ฌธ๋ฒ์ ๋๋ค.
์์์ ์ฌ์ฉํ ์ง์๋ง ์ถ๋ ฅํ๋ ์ฝ๋์ break๋ฌธ์ ์ฌ์ฉํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ฝ๋๋ ์๋์ ๊ฐ์ด ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
for num in range(1,15) :
if num%2 == 1 :
continue
if num == 10 :
print("{0} ๊น์ง๋ง ํ๊ฒ ์ต๋๋ค.".format(num))
break
print("{0} ์ ์ง์ ์
๋๋ค.".format(num))
๋ค์ ํ๋ฒ ๋ง์๋๋ฆฌ์ง๋ง ํ์ด์ฌ์์ ๋ค์ฌ์ฐ๊ธฐ๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ ๋ ํ์๊ธฐ ๋ฐ๋๋๋ค.
์๊น์ ๊ฐ์ด ์ง์๋ง ์ถ๋ ฅ์ ํ๋ค๊ฐ num์ด 10์ด ๋๋ฉด "์ฌ๊ธฐ๊น์ง๋ง ํ๊ฒ ์ต๋๋ค" ๋ผ๋ ๋ฉ์์ง์ ํจ๊ป for๋ฌธ์ ๋๊ฐ๊ฒ ๋ฉ๋๋ค. ์๋์ ๊ฐ์ด ์ถ๋ ฅ์ด ๋๊ฒ ์ฃ .
ํ์ด์ฌ break ๋ฌธ ์ฌ์ฉ์์
์ดํด๊ฐ ๋์๋์?
continue๋ break๋ ๊ทธ ๊ฒฐ๊ณผ๋ ๋ค๋ฅด์ง๋ง ์ฌ์ฉ๋ฒ์ ๊ฑฐ์ ๋์ผ ํฉ๋๋ค.
continue & break ๋ฌธ์ ์ด์ฉํด์ ๋ ๋ฉ์ง ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
'Algorithm๐ค > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ] ํ์ด์ฌ, ์ ๋ฆฌ์คํธ๋์ ํ/ ๋ฐํฌ deque ๋ฅผ ์ธ๊น?๐ (1) | 2023.06.08 |
---|---|
[python] ํ์ด์ฌ ํ์ ๋ณํ, ํ๋ณํ (float, int, str, chr, bool) (0) | 2023.06.08 |
[Python๐ฑ] ๋ฆฌ์คํธ ๋ ๊ฐ๋ก ๋์ ๋๋ฆฌ ๋ง๋ค๊ธฐ (0) | 2023.06.07 |
[Python๐ฑ] 2์ฐจ์ ๋ฐฐ์ด ์ ๋ ฅ๋ฐ๊ธฐ (0) | 2023.06.07 |
[Python๐ฑ] 1์ฐจ์ ๋ฐฐ์ด ์ ๋ ฅ๋ฐ๊ธฐ (0) | 2023.06.07 |