Guidelines

쑰건이 참일 λ•ŒκΉŒμ§€ λ°˜λ³΅ν•˜λŠ” whileλ¬Έ

while 문은 주어진 쑰건이 μ°Έ(True)인 λ™μ•ˆ κ³„μ†ν•΄μ„œ λ°˜λ³΅λ˜λŠ” κ΅¬λ¬Έμž…λ‹ˆλ‹€.

쑰건이 거짓(False)이 되면 반볡이 μ’…λ£Œλ©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ νŠΉμ§•μœΌλ‘œ 인해 while 문은 νŠΉμ • 쑰건이 만쑱될 λ•ŒκΉŒμ§€ λ°˜λ³΅λ˜λŠ” μž‘μ—…(예: μ‚¬μš©μž μž…λ ₯ λ°›κΈ°)에 μœ μš©ν•˜κ²Œ ν™œμš©λ©λ‹ˆλ‹€.


while 문의 기본 ꡬ쑰

while 문은 콜둠(:) λ‹€μŒμ— μ˜€λŠ” μ½”λ“œ 블둝을 쑰건이 참일 λ•ŒκΉŒμ§€ λ°˜λ³΅ν•΄μ„œ μ‹€ν–‰ν•©λ‹ˆλ‹€.

while 문의 기본 ꡬ쑰
while 쑰건: μ‹€ν–‰ν•  μ½”λ“œ

쑰건이 참일 λ•ŒκΉŒμ§€ λ¬΄ν•œνžˆ μ½”λ“œκ°€ 반볡되기 λ•Œλ¬Έμ—, λ°˜λ“œμ‹œ 쑰건이 거짓이 λ˜λ„λ‘ ν•˜λŠ” μ½”λ“œκ°€ ν¬ν•¨λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.


μ˜ˆμ‹œ: 1λΆ€ν„° 5κΉŒμ§€ 숫자 좜λ ₯ν•˜κΈ°

1λΆ€ν„° 5κΉŒμ§€μ˜ 숫자 좜λ ₯
i = 1 # iκ°€ 5보닀 μž‘κ±°λ‚˜ 같을 λ•ŒκΉŒμ§€ 반볡 while i <= 5: print(i) # iλ₯Ό 1μ”© μ¦κ°€μ‹œν‚΄ i += 1

이 μ½”λ“œλŠ” iκ°€ 5보닀 μž‘κ±°λ‚˜ 같은 λ™μ•ˆ print(i)λ₯Ό μ‹€ν–‰ν•˜κ³ , 이후 iλ₯Ό 1μ”© μ¦κ°€μ‹œν‚΅λ‹ˆλ‹€.

i <= 5 쑰건이 더 이상 참이 μ•„λ‹ˆκ²Œ 되면(즉, iκ°€ 6이 되면) 반볡이 μ’…λ£Œλ©λ‹ˆλ‹€.


λ¬΄ν•œ λ£¨ν”„λž€ λ¬΄μ—‡μΌκΉŒμš”?

λ¬΄ν•œ 루프(Infinite Loop)λž€, 쑰건이 항상 참이 λ˜μ–΄ 반볡문이 λλ‚˜μ§€ μ•Šκ³  κ³„μ†ν•΄μ„œ μ‹€ν–‰λ˜λŠ” 상황을 λ§ν•©λ‹ˆλ‹€.

λ¬΄ν•œ λ£¨ν”„λŠ” ν”„λ‘œκ·Έλž¨μ„ λ©ˆμΆ”κ²Œ ν•˜κ±°λ‚˜, μ‹œμŠ€ν…œ μžμ›μ„ κ³Όλ„ν•˜κ²Œ μ‚¬μš©ν•΄ ν”„λ‘œκ·Έλž¨μ— 버그λ₯Ό λ°œμƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ λ¬΄ν•œ 루프가 λ°œμƒν•˜μ§€ μ•Šλ„λ‘ 쑰건을 λͺ…ν™•νžˆ μ„€μ •ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€.


λ¬΄ν•œ 루프 μ˜ˆμ‹œ

λ¬΄ν•œ λ£¨ν”„μ˜ 예
i = 1 while i <= 5: print(i) # iκ°€ μ¦κ°€ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 쑰건이 항상 참이 λ˜μ–΄ λ¬΄ν•œ 루프에 빠짐

μœ„ μ½”λ“œμ—μ„œλŠ” iκ°€ μ¦κ°€ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ i <= 5 쑰건이 항상 참이 λ˜μ–΄ λ¬΄ν•œ 루프가 λ°œμƒν•©λ‹ˆλ‹€.


λ¬΄ν•œ 루프 방지 방법

λ¬΄ν•œ 루프λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄μ„œλŠ” 반볡문 λ‚΄μ—μ„œ 쑰건을 λ³€ν™”μ‹œν‚€λŠ” μ½”λ“œκ°€ λ°˜λ“œμ‹œ ν¬ν•¨λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, i 값을 μ¦κ°€μ‹œν‚€κ±°λ‚˜ 쑰건이 참이 λ˜μ§€ μ•Šλ„λ‘ 논리적인 흐름을 λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.

λ¬΄ν•œ 루프 방지 μ˜ˆμ‹œ
i = 1 # iκ°€ 20보닀 크면 반볡 μ’…λ£Œ while i < 20: print(i) # iλ₯Ό 1μ”© μ¦κ°€μ‹œν‚΄ i += 1

while 문은 μ–΄λ–€ 상황에 ν™œμš©ν•˜λ‚˜μš”?

while 문은 μ•„λž˜μ™€ 같이 νŠΉμ • 쑰건이 만쑱될 λ•ŒκΉŒμ§€ 반볡 μž‘μ—…μ„ μˆ˜ν–‰ν•  λ•Œ μœ μš©ν•˜κ²Œ ν™œμš©λ©λ‹ˆλ‹€.


ν™œμš© μ˜ˆμ‹œ: μ›ν•˜λŠ” μž…λ ₯을 받을 λ•ŒκΉŒμ§€ λ°˜λ³΅ν•˜κΈ°

μ•„λž˜μ™€ 같이 ν”„λ‘œκ·Έλž¨μ„ μ’…λ£Œν•  λ•ŒκΉŒμ§€ μ‚¬μš©μžλ‘œλΆ€ν„° μž…λ ₯을 λ°›λŠ” 상황에 while 문을 ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μžκ°€ qλ₯Ό μž…λ ₯ν•  λ•ŒκΉŒμ§€ 반볡
user_input = "" # μ‚¬μš©μžκ°€ 'q'λ₯Ό μž…λ ₯ν•  λ•ŒκΉŒμ§€ 반볡 while user_input != "q": user_input = input("μ’…λ£Œν•˜λ €λ©΄ 'q'λ₯Ό μž…λ ₯ν•˜μ„Έμš”: ")

이 μ½”λ“œλŠ” μ‚¬μš©μžκ°€ 'q'λ₯Ό μž…λ ₯ν•  λ•ŒκΉŒμ§€ κ³„μ†ν•΄μ„œ input을 톡해 μž…λ ₯을 λ°›μŠ΅λ‹ˆλ‹€.

user_input이 qκ°€ 되면 반볡이 μ’…λ£Œλ˜κ³ , μž…λ ₯을 λ°›λŠ” μž‘μ—…μ΄ μ’…λ£Œλ©λ‹ˆλ‹€.

Mission
0 / 1

νŒŒμ΄μ¬μ—μ„œ while 문이 μ’…λ£Œλ˜λŠ” 쑰건은 λ¬΄μ—‡μΈκ°€μš”?

쑰건이 참일 λ•Œ
쑰건에 상관없이 일정 횟수 반볡 ν›„
쑰건이 거짓일 λ•Œ
반볡문 λ‚΄μ—μ„œ λ³€μˆ˜κ°€ 증가할 λ•Œ

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result