๐Ÿ“š ์Šคํ„ฐ๋””/ํŒŒ์ด์ฌ ์Šคํ„ฐ๋”” ๊ฐ•์˜์ž๋ฃŒ

[4ํŒ€/์ด์ œ์€] 4์ฐจ์‹œ ํŒŒ์ด์ฌ ์Šคํ„ฐ๋”” - ๋ฐ˜๋ณต๋ฌธ

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2023. 3. 28. 16:07

4์ฐจ์‹œ_๋ฐ˜๋ณต๋ฌธ_๊ฐ•์˜์•ˆ.pdf
0.51MB
4์ฐจ์‹œ_๋ฐ˜๋ณต๋ฌธ_๊ณผ์ œ.pdf
0.28MB

1. ๋ฐ˜๋ณต๋ฌธ์ด๋ž€?

๋ฐ˜๋ณต๋ฌธ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ์ œ์–ด๋ฌธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ผ์ •ํ•œ ํŒจํ„ด์œผ๋กœ ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๊ฐœ for๋ฌธ๊ณผ while๋ฌธ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋‘ ์ œ์–ด๋ฌธ์€ ์‹คํ–‰ ๋ฐฉ์‹์— ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

> ๋ฐ˜๋ณต๋ฌธ?

๋ฐ˜๋ณต๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ๋ฐ˜๋ณต๋ฌธ ์ฝ”๋“œ๋ธ”๋ก ์•ˆ์˜ ๋‚ด์šฉ์„ ๋ฐ˜๋ณตํ•ด์ค๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ์ฑ…์—์„œ ํ•˜๋Š” ๋ง์ด ์žˆ๋Š”๋ฐ, ๋ณ€์ˆ˜ 10,000๊ฐœ, 100,000๊ฐœ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ถ์€๋ฐ ์‚ฌ๋žŒ ์†์œผ๋กœ ์ผ์ผ์ด ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ฐ˜๋ณต๋ฌธ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๋ฐ˜๋ณต๋ฌธ, loop

- ๋ฐ˜๋ณต๋ฌธ์—๋Š” for๋ฌธ๊ณผ while๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€๋ฅผ ๊ฐ™๋‹ค๊ณ  ๋ณผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋ณดํ†ต for๋ฌธ์€ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ , while๋ฌธ์€ ์–ธ์ œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 

 

> ๋ฐ˜๋ณต๋ฌธ ๊ตฌ์„ฑ

- ๋ฐ˜๋ณต ์‹œ์ž‘ ์กฐ๊ฑด, ์ข…๋ฃŒ ์กฐ๊ฑฐ๋Š ์ˆ˜ํ–‰ ๋ช…๋ น์œผ๋กœ ๊ตฌ์„ฑ

- ๋“ค์—ฌ์“ฐ๊ธฐ์™€ ๋ธ”๋ก์œผ๋กœ ๊ตฌ๋ถ„

 

2. for ๋ฌธ

for๋ฌธ์€ ์ฃผ์–ด์ง„ ๋ฒ”์œ„ ๋‚ด์—์„œ ์ผ์ •ํ•œ ๊ทœ์น™์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. for๋ฌธ์€ ์ดˆ๊ธฐ๊ฐ’, ์กฐ๊ฑด์‹, ์ฆ๊ฐ์‹์„ ์ง€์ •ํ•˜์—ฌ ๋ฐ˜๋ณต ๋ฒ”์œ„๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค.

> for ๋ฌธ์˜ ๋ฌธ๋ฒ•

for i in ๋ฒ”์œ„:
    ๋ฐ˜๋ณตํ•  ๋ช…๋ น์–ด1
    ๋ฐ˜๋ณตํ•  ๋ช…๋ น์–ด2

for๋ฌธ์€ ์ด๋Ÿฐ ํ˜•ํƒœ๋กœ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. 

- : (์ฝœ๋ก )์„ ํ†ตํ•ด ๋ฐ˜๋ณต๋ฌธ์˜ ์‹œ์ž‘์„ ์•Œ๋ฆฌ๊ณ , ๋ฐ˜๋ณตํ•  ๋ช…๋ น์–ด๋“ค์ด ์žˆ๋Š” ๋ธ”๋Ÿญ๋“ค์€ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค. 

- ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ์ŠคํŽ˜์ด์Šค๋ฐ” 4์นธ์œผ๋กœ ํ•ด์ค„ ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. 

- i ๋Š” ์ด for๋ฌธ ์•ˆ์—์„œ๋งŒ ์ผํ•˜๋Š” ๋ณ€์ˆ˜๋กœ, ํŠน๋ณ„ํžˆ ์ค‘์š”ํ•œ ์—ญํ• ์ด ์ •ํ•ด์ ธ์žˆ๋‹ค๋ฉด ๋‹ค๋ฅธ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•˜์ง€๋งŒ ๊ทธ๊ฒŒ ์•„๋‹ ๊ฒฝ์šฐ ๋ณดํ†ต i ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 

> for ๋ฌธ์˜ ์‚ฌ์šฉ๋ฒ• 1 (list์™€ ํ•จ๊ป˜)

mylist = ['์Šˆ๋ฆฌ', '์›ฌ๋””', '์œ ์‹œ']
for i in mylist:
    print(i)
print('๋ฐ˜๋ณต ๋')

๊ฒฐ๊ณผ: 

์Šˆ๋ฆฌ
์›ฌ๋””
์œ ์‹œ
๋ฐ˜๋ณต ๋

1ํ–‰ : ์ฒซ์งธ์ค„ : myilst ๋ผ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ์— ์Šˆ๋ฆฌ, ์›ฌ๋””, ์œ ์‹œ๋ฅผ ๋„ฃ์–ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. 

2ํ–‰ : for i in mylist ์˜ ๋œป์€, mylist ์˜ ์š”์†Œ ์ค‘ ์•ž์—์„œ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ๋ณ€์ˆ˜ i ์— ๋Œ€์ž…ํ•˜๊ฒ ๋‹ค๋Š” ๋ง์ž…๋‹ˆ๋‹ค. ์ฆ‰ ์ฒซ ๋ฒˆ์งธ์—๋Š” i = '์Šˆ๋ฆฌ', ๋‘๋ฒˆ์งธ์—๋Š” i = '์›ฌ๋””', ์„ธ๋ฒˆ์งธ์—๋Š” i = '์œ ์‹œ'๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. 

3ํ–‰ : ๋งค ๋ฐ˜๋ณต๋งˆ๋‹ค ๋“ค์—ฌ์“ฐ๊ธฐ ๋œ ๋ช…๋ น์–ด print(i) ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

4ํ–‰ : ์„ธ ๋ฒˆ์งธ๊นŒ์ง€ ๋ฐ˜๋ณตํ–ˆ์œผ๋ฉด ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋๋‚ฌ์œผ๋ฏ€๋กœ ๋ฐ˜๋ณต์„ ์ข…๋ฃŒํ•˜๊ณ , ๋ฐ˜๋ณต๋ฌธ ๋ฐ–์— ์žˆ๋Š” ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

> for ๋ฌธ์˜ ์‚ฌ์šฉ๋ฒ• 2 (range์™€ ํ•จ๊ป˜)

์ด๋ฒˆ์—๋Š” range()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณตํ•  ํšŸ์ˆ˜๋ฅผ ์ •ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

for i in range (1, 11):
    print(i, end=" ")
print('๋ฐ˜๋ณต ๋')
1 2 3 4 5 6 7 8 9 10 ๋ฐ˜๋ณต ๋

์—ฌ๊ธฐ์„œ i๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ฆ๊ฐ€ํ•˜๋‹ค๊ฐ€ 10๊นŒ์ง€ ์ถœ๋ ฅํ•˜๊ณ , 11์ด ๋˜๋ฉด ๋ฐ˜๋ณต์„ ํƒˆ์ถœํ•ฉ๋‹ˆ๋‹ค.

 

> for ๋ฌธ์˜ ์‘์šฉ

>> list ์˜ˆ๋ฌธ

for๋ฌธ์˜ ์“ฐ์ž„์ƒˆ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค.

๋”๋ณด๊ธฐ

์ด 5๋ช…์˜ ํ•™์ƒ์ด ์‹œํ—˜์„ ๋ณด์•˜๋Š”๋ฐ ์‹œํ—˜ ์ ์ˆ˜๊ฐ€ 60์  ์ด์ƒ์ด๋ฉด ํ•ฉ๊ฒฉ์ด๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ถˆํ•ฉ๊ฒฉ์ด๋‹ค. ํ•ฉ๊ฒฉ์ธ์ง€ ๋ถˆํ•ฉ๊ฒฉ์ธ์ง€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ ์ฃผ์‹œ์˜ค.

์šฐ์„  ํ•™์ƒ 5๋ช…์˜ ์‹œํ—˜ ์ ์ˆ˜๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ํ‘œํ˜„ํ•ด๋ด…์‹œ๋‹ค.

marks = [90, 25, 67, 45, 80]

์ด ์ ์ˆ˜๋ฅผ ์ฐจ๋ก€๋กœ ๊ฒ€์‚ฌํ•ด์„œ ํ•ฉ๊ฒฉํ–ˆ๋Š”์ง€ ๋ถˆํ•ฉ๊ฒฉํ–ˆ๋Š”์ง€ ํ†ต๋ณดํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

# marks1.py
marks = [90, 25, 67, 45, 80]

number = 0 
for mark in marks: 
    number = number +1 
    if mark >= 60: 
        print("%d๋ฒˆ ํ•™์ƒ์€ ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค." % number)
    else: 
        print("%d๋ฒˆ ํ•™์ƒ์€ ๋ถˆํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค." % number)

- ๋จผ์ €, ๊ฐ๊ฐ์˜ ํ•™์ƒ์—๊ฒŒ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ ์ฃผ๊ธฐ ์œ„ํ•ด number ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. 

- ์ ์ˆ˜ ๋ฆฌ์ŠคํŠธ marks์—์„œ ์ฐจ๋ก€๋กœ ์ ์ˆ˜๋ฅผ ๊บผ๋‚ด์–ด mark๋ผ๋Š” ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜๊ณ  for๋ฌธ ์•ˆ์˜ ๋ฌธ์žฅ๋“ค์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

- for๋ฌธ์ด ํ•œ ๋ฒˆ์”ฉ ์ˆ˜ํ–‰๋  ๋•Œ๋งˆ๋‹ค number๋Š” 1์”ฉ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด mark๊ฐ€ 60 ์ด์ƒ์ผ ๋•Œ ํ•ฉ๊ฒฉ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  60์„ ๋„˜์ง€ ์•Š์„ ๋•Œ ๋ถˆํ•ฉ๊ฒฉ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

1๋ฒˆ ํ•™์ƒ์€ ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.
2๋ฒˆ ํ•™์ƒ์€ ๋ถˆํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.
3๋ฒˆ ํ•™์ƒ์€ ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.
4๋ฒˆ ํ•™์ƒ์€ ๋ถˆํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.
5๋ฒˆ ํ•™์ƒ์€ ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.

 

>> range ์˜ˆ๋ฌธ 1

์šฐ๋ฆฌ๊ฐ€ ์•ž์—์„œ ์‚ดํŽด๋ณธ "60์  ์ด์ƒ์ด๋ฉด ํ•ฉ๊ฒฉ"์ด๋ผ๋Š” ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ๋„ range ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

# marks2.py
marks = [90, 25, 67, 45, 80]

for number in range(len(marks)):
    if marks[number] >= 60:
        print("%d๋ฒˆ ํ•™์ƒ์€ ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค." % (number+1))
    else:
        print("%d๋ฒˆ ํ•™์ƒ์€ ๋ถˆํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค." % (number+1))

- len ํ•จ์ˆ˜๋Š” ๋ฆฌ์ŠคํŠธ ์•ˆ์˜ ์š”์†Œ ๊ฐœ์ˆ˜๋ฅผ ๋Œ๋ ค์ฃผ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. 

- ๋”ฐ๋ผ์„œ len(marks)๋Š” 5๊ฐ€ ๋  ๊ฒƒ์ด๊ณ  range(len(marks))๋Š” range(5)๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

- number ๋ณ€์ˆ˜์—๋Š” ์ฐจ๋ก€๋กœ 0๋ถ€ํ„ฐ 4๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ ๋Œ€์ž…๋  ๊ฒƒ์ด๊ณ , marks[number]๋Š” ์ฐจ๋ก€๋Œ€๋กœ 90, 25, 67, 45, 80 ๊ฐ’์„ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” marks1.py ์˜ˆ์ œ์™€ ๋™์ผํ•˜๊ฒŒ ๋‚˜์˜ต๋‹ˆ๋‹ค.

 

>> range ์˜ˆ๋ฌธ 2 (๊ตฌ๊ตฌ๋‹จ)

for์™€ range ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†Œ์Šค ์ฝ”๋“œ ๋‹จ 4์ค„๋งŒ์œผ๋กœ ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

>>> for i in range(2,10):        # 1๋ฒˆ for๋ฌธ
...     for j in range(1, 10):   # 2๋ฒˆ for๋ฌธ
...         print(i*j, end=" ") 
...     print('') 
... 
2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54 
7 14 21 28 35 42 49 56 63 
8 16 24 32 40 48 56 64 72 
9 18 27 36 45 54 63 72 81

์œ„ ์˜ˆ๋ฅผ ๋ณด๋ฉด for๋ฌธ์„ ๋‘ ๋ฒˆ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

- 1๋ฒˆ for๋ฌธ์—์„œ 2๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ range(2, 10)์— ์˜ํ•ด ์ฐจ๋ก€๋กœ i์— ๋Œ€์ž…๋ฉ๋‹ˆ๋‹ค.

- i๊ฐ€ ์ฒ˜์Œ 2์ผ ๋•Œ 2๋ฒˆ for๋ฌธ์„ ๋งŒ๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 2๋ฒˆ for๋ฌธ์—์„œ 1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž (range(1, 10))๊ฐ€ j์— ๋Œ€์ž…๋˜๊ณ  ๊ทธ๋‹ค์Œ ๋ฌธ์žฅ print(i*j)๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

- ๋”ฐ๋ผ์„œ i๊ฐ€ 2์ผ ๋•Œ 2*1, 2*2, 2*3, … 2*9๊นŒ์ง€ ์ฐจ๋ก€๋กœ ์ˆ˜ํ–‰๋˜๋ฉฐ ๊ทธ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ์œผ๋กœ i๊ฐ€ 3์ผ ๋•Œ ์—ญ์‹œ 2์ผ ๋•Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ˆ˜ํ–‰๋  ๊ฒƒ์ด๊ณ  i๊ฐ€ 9์ผ ๋•Œ๊นŒ์ง€ ๊ณ„์† ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค.

- ๊ทธ๋ฆฌ๊ณ  print(i*j, end=" ")์™€ ๊ฐ™์ด print ํ•จ์ˆ˜์— end ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•œ ์ด์œ ๋Š” ํ•ด๋‹น ๊ฒฐ๊ด๊ฐ’์„ ์ถœ๋ ฅํ•  ๋•Œ ๋‹ค์Œ์ค„๋กœ ๋„˜๊ธฐ์ง€ ์•Š๊ณ  ๊ทธ ์ค„์— ๊ณ„์†ํ•ด์„œ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค.

 

3. while ๋ฌธ

while๋ฌธ์€ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๊ฒฝ์šฐ ๋ฐ˜๋ณตํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. while๋ฌธ์€ ์กฐ๊ฑด์‹๋งŒ์œผ๋กœ ๋ฐ˜๋ณต ๋ฒ”์œ„๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค.

> whil ๋ฌธ์˜ ๋ฌธ๋ฒ•

while <์กฐ๊ฑด๋ฌธ>:
    <์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ1>
    <์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ2>
    <์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ3>
    ...

๋‹ค์Œ์€ while๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. while๋ฌธ์€ ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ธ ๋™์•ˆ์— while๋ฌธ์— ์†ํ•œ ๋ฌธ์žฅ๋“ค์ด ๋ฐ˜๋ณตํ•ด์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

 

> whil ๋ฌธ์˜ ์‚ฌ์šฉ๋ฒ• 1 (๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ)

it = 0
while (it < 5):
    it += 1
    print(it)
...
1
2
3
4
5

๋ณ€์ˆ˜ it์€ 0์ธ ์ƒํƒœ์—์„œ while๋ฌธ ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ณ , 1์„ ๋”ํ•œ ๋’ค ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. if์˜ ๊ฐ’์ด 5๊ฐ€ ๋˜๋ฉด it<5 ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ while๋ฌธ์„ ํƒˆ์ถœํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. for๋ฌธ๊ณผ์˜ ์ฐจ์ด๊ฐ€ ๋ณด์ด์‹œ๋‚˜์š”?๐Ÿคญ

- ๋ฐ˜๋ณต ์‹คํ–‰ ํšŸ์ˆ˜๋ฅผ ๋ช…ํ™•ํžˆ ์•ˆ๋‹ค๋ฉด for๋ฌธ์„, ๋ฐ˜๋ณต ์‹คํ–‰ ํšŸ์ˆ˜๊ฐ€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์œผ๋ฉด while์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

> whil ๋ฌธ์˜ ์‚ฌ์šฉ๋ฒ• 2 (๋ฌดํ•œ๋ฃจํ”„)

์ฝ”๋“œ๋ฅผ ์งœ๋‹ค๋ณด๋ฉด ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ž์ฃผ ์ƒ๊น๋‹ˆ๋‹ค. ๋ฌดํ•œ๋ฃจํ”„ ์ฝ”๋“œ๋ฅผ ์•Œ์•„๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค.

it = 0
while True:
  it += 1
  print(it)

์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ์•„๋งˆ ์ˆซ์ž๊ฐ€ ๊ณ„์†๊ณ„์† ๋Š˜์–ด๊ฐ€๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌดํ•œ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๋ณดํ†ต break๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ํƒˆ์ถœ์„ ์‹œ๋„ํ•˜๋Š”๋ฐ, ์ด๋Š” ๋‹ค์Œ ์žฅ์ธ ๋ฐ˜๋ณต๋ฌธ์˜ ์ œ์–ด์—์„œ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค.

 

> whil ๋ฌธ์˜ ์‘์šฉ

>> ์˜ˆ์ œ 1 (๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ)

์ด์ œ ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค. ์šฐ์„  ๊ธฐ๋ณธ์ ์ธ while๋ฌธ์„ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋ด…์‹œ๋‹ค!

๋”๋ณด๊ธฐ

"์—ด ๋ฒˆ ์ฐ์–ด ์•ˆ ๋„˜์–ด๊ฐ€๋Š” ๋‚˜๋ฌด ์—†๋‹ค"๋Š” ์†๋‹ด์„ ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋งŒ๋“ค์–ด๋ณธ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ๋  ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

treeHit = 0
while treeHit < 10:
     treeHit = treeHit +1
     print("๋‚˜๋ฌด๋ฅผ %d๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค." % treeHit)
     if treeHit == 10:
         print("๋‚˜๋ฌด ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.")
...
๋‚˜๋ฌด๋ฅผ 1๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 2๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 3๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 4๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 5๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 6๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 7๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 8๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 9๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 10๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.

- ์œ„ ์˜ˆ์—์„œ while๋ฌธ์˜ ์กฐ๊ฑด๋ฌธ์€ treeHit < 10์ž…๋‹ˆ๋‹ค. ์ฆ‰ treeHit๊ฐ€ 10๋ณด๋‹ค ์ž‘์€ ๋™์•ˆ์— while๋ฌธ์— ํฌํ•จ๋œ ๋ฌธ์žฅ๋“ค์„ ๊ณ„์† ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 

- whlie๋ฌธ ์•ˆ์˜ ๋ฌธ์žฅ์„ ๋ณด๋ฉด ์ œ์ผ ๋จผ์ € treeHit = treeHit + 1๋กœ treeHit ๊ฐ’์ด ๊ณ„์† 1์”ฉ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋ฌด๋ฅผ treeHit๋ฒˆ๋งŒํผ ์ฐ์—ˆ์Œ์„ ์•Œ๋ฆฌ๋Š” ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•˜๊ณ  treeHit๊ฐ€ 10์ด ๋˜๋ฉด "๋‚˜๋ฌด ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค."๋ผ๋Š” ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. 

- ๊ทธ๋Ÿฌ๊ณ  ๋‚˜๋ฉด treeHit < 10์กฐ๊ฑด๋ฌธ์ด ๊ฑฐ์ง“์ด ๋˜๋ฏ€๋กœ while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

4. ๋ฐ˜๋ณต๋ฌธ์˜ ์ œ์–ด

- break๋ฌธ๊ณผ continue๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณต๋ฌธ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- break๋ฌธ์€ ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ค๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋ฉฐ, continue๋ฌธ์€ ๋ฐ˜๋ณต๋ฌธ์˜ ํ˜„์žฌ ๋ฃจํ”„๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‹ค์Œ ๋ฃจํ”„๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ œ์–ด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณต๋ฌธ์˜ ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

> break ๋ฌธ, ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ค๊ธฐ

for i in range(10):
    if i == 5: break  # i๊ฐ€ 5๊ฐ€ ๋˜๋ฉด ๋ฐ˜๋ณต ์ข…๋ฃŒ
    print(i)
print("End of Program")  # ๋ฐ˜๋ณต ์ข…๋ฃŒ ํ›„ 'End of Program' ์ถœ๋ ฅ
...
0
1
2
3
4
End of Program

์ด์ฒ˜๋Ÿผ break ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ๋ฐ˜๋ณตํ•ด์„œ ๋น ์ ธ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

> continue ๋ฌธ, ๋‚จ์€ ๋ช…๋ น ๊ฑด๋„ˆ๋›ฐ๊ณ  ๊ทธ ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ

continue๋ฌธ์€ break๋ฌธ๊ณผ ๋‹ฌ๋ฆฌ ํŠน์ • ์กฐ๊ฑด์—์„œ ๋‚จ์€ ๋ช…๋ น์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต๋ฌธ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

for i in range(10):
    if i == 5: continue  # i๊ฐ€ 5๊ฐ€ ๋˜๋ฉด i๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ์•Š์Œ
    print(i)
print("End of Program")  # ๋ฐ˜๋ณต ์ข…๋ฃŒ ํ›„ 'End of Program'์ถœ๋ ฅ
...
0
1
2
3
4
6
7
8
9
End of Program

5๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์ถœ๋ ฅ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

> else ๋ฌธ, ์–ด๋–ค ์กฐ๊ฑด์ด ์™„์ „ํžˆ ๋๋‚ฌ์„ ๋•Œ ํ•œ๋ฒˆ ๋” ์‹คํ–‰ํ•˜๊ธฐ

ํ•ด๋‹น ๋ฐ˜๋ณต๋ฌธ์ด ์ค‘๊ฐ„์— ์ข…๋ฃŒ ์—†์ด ์™„๋ฒฝํžˆ ์ˆ˜ํ–‰๋˜์—ˆ๋Š”์ง€๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

for i in range(10):
    print(i)
else:
    print("End of Program")
...
0
1
2
3
4
5
6
7
8
9
End of Program

์ด๋Ÿฌํ•œ continue, break, else๋ฌธ์€ for๋ฌธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ while๋ฌธ์—์„œ๋„ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.