while๋ฌธ

soo-hyeonยท2021๋…„ 1์›” 30์ผ
0

ํŒŒ์ด์ฌ

๋ชฉ๋ก ๋ณด๊ธฐ
9/15

while๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

๐Ÿ”‘ ๋ฐ˜๋ณตํ•ด์„œ ๋ฌธ์žฅ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ while๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ž˜์„œ while๋ฌธ์„ ๋ฐ˜๋ณต๋ฌธ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

โ–ท ๋‹ค์Œ์€ while๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ด๋‹ค.

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

โ–ถ while๋ฌธ์€ ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ธ ๋™์•ˆ์— while๋ฌธ ์•„๋ž˜์˜ ๋ฌธ์žฅ์ด ๋ฐ˜๋ณตํ•ด์„œ ์ˆ˜ํ–‰๋œ๋‹ค.

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

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

while๋ฌธ ๊ฐ•์ œ๋กœ ๋น ์ ธ๋‚˜๊ฐ€๊ธฐ

๐Ÿ”‘ while๋ฌธ์€ ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ธ ๋™์•ˆ ๊ณ„์†ํ•ด์„œ while๋ฌธ ์•ˆ์˜ ๋‚ด์šฉ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ•์ œ๋กœ while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋Ÿด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ break๋ฌธ์ด๋‹ค.

์˜ˆ์ œ) ์ปคํ”ผ ์žํŒ๊ธฐ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

coffee = 10
while True:
    money = int(input("๋ˆ์„ ๋„ฃ์–ด ์ฃผ์„ธ์š”: "))
    if money == 300:
        print("์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.")
        coffee = coffee -1
    elif money > 300:
        print("๊ฑฐ์Šค๋ฆ„๋ˆ %d๋ฅผ ์ฃผ๊ณ  ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค." % (money -300))
        coffee = coffee -1
    else:
        print("๋ˆ์„ ๋‹ค์‹œ ๋Œ๋ ค์ฃผ๊ณ  ์ปคํ”ผ๋ฅผ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.")
        print("๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ %d๊ฐœ ์ž…๋‹ˆ๋‹ค." % coffee)
    if coffee == 0:
        print("์ปคํ”ผ๊ฐ€ ๋‹ค ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ํŒ๋งค๋ฅผ ์ค‘์ง€ ํ•ฉ๋‹ˆ๋‹ค.")
        break

while๋ฌธ์˜ ๋งจ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๐Ÿ”‘ while๋ฌธ ์•ˆ์˜ ๋ฌธ์žฅ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ž…๋ ฅ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•ด์„œ ์กฐ๊ฑด์— ๋งž์ง€ ์•Š์œผ๋ฉด while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ„๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋‹ค ๋ณด๋ฉด while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€์ง€ ์•Š๊ณ  while๋ฌธ์˜ ๋งจ ์ฒ˜์Œ(์กฐ๊ฑด๋ฌธ)์œผ๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ€๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ continue๋ฌธ์ด๋‹ค.

โ–ท 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘์—์„œ ํ™€์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์„ while๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ์ž‘์„ฑํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ์ข‹์„๊นŒ?

a = 0
while a < 10:
    a = a + 1
    if a % 2 ==0: continue
    print(a)

โ–ถ ์œ„ ์˜ˆ๋Š” 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘ ํ™€์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ด๋‹ค. a๊ฐ€ 10๋ณด๋‹ค ์ž‘์€ ๋™์•ˆ a๋Š” 1๋งŒํผ์”ฉ ๊ณ„์† ์ฆ๊ฐ€ํ•œ๋‹ค. if a % 2 == 0(a๋ฅผ 2๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ธ ๊ฒฝ์šฐ)์ด ์ฐธ์ด ๋˜๋Š” ๊ฒฝ์šฐ๋Š” a๊ฐ€ ์ง์ˆ˜์ผ ๋•Œ์ด๋‹ค. ์ฆ‰ a๊ฐ€ ์ง์ˆ˜์ด๋ฉด continue ๋ฌธ์žฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด continue๋ฌธ์€ while๋ฌธ์˜ ๋งจ ์ฒ˜์Œ(์กฐ๊ฑด๋ฌธ: a<10)์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ๋”ฐ๋ผ์„œ ์œ„ ์˜ˆ์—์„œ a๊ฐ€ ์ง์ˆ˜์ด๋ฉด print(a)๋Š” ์ˆ˜ํ–‰๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

๋ฌดํ•œ ๋ฃจํ”„

๐Ÿ”‘ ์ด๋ฒˆ์—๋Š” ๋ฌดํ•œ ๋ฃจํ”„(Loop)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๋ฌดํ•œ ๋ฃจํ”„๋ž€ ๋ฌดํ•œํžˆ ๋ฐ˜๋ณตํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ ์ค‘์—์„œ ๋ฌดํ•œ ๋ฃจํ”„ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ๊ฑฐ์˜ ์—†๋‹ค. ๊ทธ๋งŒํผ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

โ–ท ํŒŒ์ด์ฌ์—์„œ ๋ฌดํ•œ ๋ฃจํ”„๋Š” while๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์€ ๋ฌดํ•œ ๋ฃจํ”„์˜ ๊ธฐ๋ณธ ํ˜•ํƒœ์ด๋‹ค.

while True: 
    ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ1 
    ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ2
    ...

โ–ถ while๋ฌธ์˜ ์กฐ๊ฑด๋ฌธ์ด True์ด๋ฏ€๋กœ ํ•ญ์ƒ ์ฐธ์ด ๋œ๋‹ค. ๋”ฐ๋ผ์„œ while๋ฌธ ์•ˆ์— ์žˆ๋Š” ๋ฌธ์žฅ๋“ค์€ ๋ฌดํ•œํ•˜๊ฒŒ ์ˆ˜ํ–‰๋  ๊ฒƒ์ด๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€