Chapter 4. ๋ฐ˜๋ณต๋ฌธ#

๋ฐ˜๋ณต(iteration)๋ฌธ์€ ๋™์ผํ•œ ๋ฌธ์žฅ์„ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค. ์ด ์žฅ์—์„œ๋Š” ๋ฐ˜๋ณต๋ฌธ while๊ณผ for์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณธ๋‹ค.

ํ•™์Šต๋ชฉํ‘œ์™€ ๊ธฐ๋Œ€ํšจ๊ณผ

  • ํ•™์Šต๋ชฉํ‘œ

    • ๋ฐ˜๋ณต๋ฌธ์˜ ๊ฐœ๋…๊ณผ ๋™์ž‘์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ  ๋ฐ˜๋ณต ํŒจํ„ด์„ ์ฐพ์•„๋ณด์ž.

    • ๋ฐ˜๋ณต๋ฌธ while๋ฅผ ๋ฐฐ์›Œ๋ณด์ž.

    • ๋ฐ˜๋ณต๋ฌธ for๋ฅผ ๋ฐฐ์›Œ๋ณด์ž.

  • ๊ธฐ๋Œ€ํšจ๊ณผ

    • ์ปดํ“จํŒ… ๋””๋ฐ”์ด์Šค๋“ค์ด ์–ด๋–ป๊ฒŒ ๋ฐ˜๋ณต์ ์ธ ์ผ์„ ๊ณ„์† ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

While loop#

๋จผ์ €, while๋ฌธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

while statement#

while๋ฌธ์˜ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์กฐ๊ฑด ๋’ค์—๋Š” ๋ฐ˜๋“œ์‹œ ์ฝœ๋ก (:)์ด ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ์กฐ๊ฑด์ด True์ธ ๋™์•ˆ while๋ฌธ ์•ˆ์— ์žˆ๋Š” ์‹คํ–‰ ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•œ๋‹ค. ์ด๋•Œ ์‹คํ–‰ ๋ฌธ์žฅ์€ ๋ฐ˜๋“œ์‹œ ๋“ค์—ฌ์“ฐ๊ธฐ๊ฐ€ ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

while ์กฐ๊ฑด:
    ์‹คํ–‰ ๋ฌธ์žฅ1
    ์‹คํ–‰ ๋ฌธ์žฅ2
    ...
  • ์˜ˆ๋ฅผ ํ†ตํ•ด์„œ while๋ฌธ์„ ์ดํ•ดํ•ด๋ณด์ž.

  • ์•„๋ž˜ ์ฝ”๋“œ์—์„œ๋Š” ๋ฐ˜๋ณต์„ ์œ„ํ•œ ์กฐ๊ฑด๋ณ€์ˆ˜๋กœ count๋ฅผ ํ™œ์šฉํ–ˆ๋‹ค.

  • ๋ณ€์ˆ˜๋ฅผ ์กฐ๊ฑด์— ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์กฐ๊ฑด์‹ ์‚ฌ์šฉ ์ด์ „(์—ฌ๊ธฐ์„œ๋Š” while๋ฌธ ์ด์ „)์— ๋ฏธ๋ฆฌ ์ •์˜๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด ์˜ˆ์—์„œ๋Š” while๋ฌธ ์ด์ „์— ๋ณ€์ˆ˜ count๋ฅผ 1๋กœ ์ •์˜ํ•˜์˜€๋‹ค.

  • ๋ณ€์ˆ˜ count๋Š” while๋ฌธ ์•ˆ์—์„œ ๋ฐ˜๋ณตํ•  ๋•Œ๋งˆ๋‹ค 1์”ฉ ์ฆ๊ฐ€ํ•œ๋‹ค.

  • ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ count๊ฐ€ 5๋ณด๋‹ค ํฌ๋ฉด, ์ฆ‰ 6์ด ๋˜๋ฉด, count <= 5 ์กฐ๊ฑด์ด False๊ฐ€ ๋˜์–ด ๋ฐ˜๋ณต์„ ๋ฉˆ์ถ˜๋‹ค.

count = 1
while count <= 5:
    print(f'์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:{count}')
    count=count+1

print(f'count={count}')
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:1
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:2
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:3
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:4
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:5
count=6
  • ์กฐ๊ฑด๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•œ count์˜ ์ดˆ๊ธฐ๊ฐ’์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด, count=0์œผ๋กœ ํ–ˆ๋‹ค๋ฉด while๋ฌธ ์•ˆ์—์„œ count๋ฅผ ๋จผ์ € ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

  • ๋˜ํ•œ 5๋ฒˆ ๋ฐ˜๋ณตํ•˜๊ณ  ๋น ์ ธ๋‚˜์™€์•ผ ํ•˜๋ฏ€๋กœ count < 5์™€ ๊ฐ™์ด ์กฐ๊ฑด์‹๋„ ๋‹ฌ๋ผ์ง€๋ฉฐ, count๊ฐ€ 5์ผ๋•Œ while๋ฌธ์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค.

count = 0
while count < 5:
    count=count+1
    print(f'์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:{count}')

print(f'count={count}')
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:1
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:2
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:3
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:4
์žฌ๋ฏธ์žˆ๋Š” ํŒŒ์ด์ฌ:5
count=5

๐Ÿ˜„๋ฌธ์ œ. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ while๋ฌธ์„ ์ด์šฉํ•ด ์ž‘์„ฑํ•ด ๋ณด์‹œ์˜ค.

test case-1

๋‚˜๋ฌด๋ฅผ 1๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹น!
๋‚˜๋ฌด๋ฅผ 2๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹น!์‹น!
๋‚˜๋ฌด๋ฅผ 3๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹น!์‹น!์‹น!
๋‚˜๋ฌด๋ฅผ 4๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹น!์‹น!์‹น!์‹น!
๋‚˜๋ฌด๋ฅผ 5๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹น!์‹น!์‹น!์‹น!์‹น!

break#

  • while๋ฌธ์˜ ์กฐ๊ฑด ๋ถ€๋ถ„์— ์กฐ๊ฑด์‹์ด ์•„๋‹Œ True ๋˜๋Š” ์ˆซ์ž 1์„ ๋„ฃ์–ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

  • ์ด ๊ฒฝ์šฐ์—๋Š” while True: ๋˜๋Š” while 1: ์ด๋ฏ€๋กœ ์กฐ๊ฑด์˜ ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ True๊ฐ€ ๋˜์–ด ๋ฌดํ•œ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค.

  • ์ด๋Ÿฌํ•œ ๋ฌดํ•œ๋ฐ˜๋ณต๋ฌธ์˜ ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•˜๋Š” break๋ฅผ ๋ฐ˜๋ณต๋ฌธ ์•ˆ ์–ด๋”˜๊ฐ€์— ๋ช…์‹œํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

count = 0
while True :
    print(f'๋ฌด์•ผํ˜ธ~:{count}')
    count = count + 1
    if count == 5:
       break
print(f'count={count}')
๋ฌด์•ผํ˜ธ~:0
๋ฌด์•ผํ˜ธ~:1
๋ฌด์•ผํ˜ธ~:2
๋ฌด์•ผํ˜ธ~:3
๋ฌด์•ผํ˜ธ~:4
count=5

True์™€ False์˜ ์˜๋ฏธ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ True๋Š” 1์˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, False๋Š” 0์˜ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค. ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด False์™€ 0์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ฐ’์€ True์˜ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค. ๋”ฐ๋ผ์„œ while โ€˜aโ€™: ์™€ ๊ฐ™์ด ์จ๋„ ๋ฌดํ•œ ๋ฐ˜๋ณต๋œ๋‹ค.

Sample Source Code #4#

๐Ÿ˜„ ๋ฐ˜๋ณตํ•˜์—ฌ ๊ธฐํšŒ์ฃผ๊ธฐ

  • TODO-1: while๋ฌธ์„ ์ด์šฉํ•˜์—ฌ number๋ฅผ ๋งžํžˆ์ง€ ๋ชปํ–ˆ์„ ๋•Œ๋Š” guess ๊ธฐํšŒ๋ฅผ ๊ณ„์† ์ฃผ๋„๋ก ์ˆ˜์ •ํ•ด๋ณด์„ธ์š”.

  • TODO-2: ๋งžํ˜”์„ ๋•Œ์—๋Š” Good job~๋ฌธ ์ถœ๋ ฅ ํ›„ Iโ€™m happy๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”.

# This is a guess the number game.
import random
myName = input('Hello! What is your name? ')
number = random.randint(1,20)
print ( f'Well, {myName} I am thinking of a number between 1 and 20.')

guess = int(input('Take a guess.'))

if guess> number:
    print('Your guess is too high')
elif guess < number:
    print('Your guess is too  low')
else:
    print ( f'Good job, {myName}! You guessed my number!')

while ~ else#

  • while๋ฌธ์—๋„ else๊ฐ€ ์žˆ๋‹ค.

  • while๋ฌธ์˜ else ํŒŒํŠธ๋Š” while๋ฌธ์ด ์ •์ƒ์ ์œผ๋กœ ๋ชจ๋“  ๋ฐ˜๋ณต์„ ๋‹ค ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰ํ•œ๋‹ค.

  • ์ฆ‰, while๋ฌธ์˜ ์กฐ๊ฑด์‹์ด False๊ฐ€ ๋˜์„œ ๋น ์ ธ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰ํ•˜๋ฉฐ, break๋ฅผ ํ†ตํ•ด์„œ while๋ฌธ์„ ๋น ์ ธ๋‚˜์˜จ ๊ฒฝ์šฐ์—๋Š” else๋ฌธ์ด ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค.

count = 0
while count < 5 :
    pw=input('Password: ')
    if pw=='pythonisfun':
       print('๋กœ๊ทธ์ธ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.')
       break
    count = count + 1    
else:
    print ('๋กœ๊ทธ์ธ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.')

Sample Source Code #5#

๐Ÿ˜„ ๊ธฐํšŒ ํšŸ์ˆ˜ ์ œํ•œํ•˜๊ธฐ: Sample Source Code #4์—์„œ ์ˆ˜์ •ํ•œ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ์€ ํ›„ ์•„๋ž˜ TODO์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•ด ์ฃผ์„ธ์š”.

  • TODO: guessํ•  ๊ธฐํšŒ๋ฅผ 5๋ฒˆ๋งŒ ์ฃผ๊ณ  5๋ฒˆ์•ˆ์— ๋งžํžˆ์ง€ ๋ชปํ•˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์™€ f'oops! The number I was thinking of was {number}.' ์™€ ๊ฐ™์ด ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”.

  • 5๋ฒˆ ์ด๋‚ด์— number๋ฅผ ๋งžํ˜”๋‹ค๋ฉด ๋งžํ˜”์„ ๋•Œ์˜ ๋ฌธ์žฅ์„ ์ถœ๋ ฅ ํ›„ ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ค๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

continue#

๋ฐ˜๋ณต๋ฌธ์—์„œ continue๋ฅผ ๋งŒ๋‚˜๋ฉด continue ์•„๋ž˜์ชฝ์— ์žˆ๋Š” ๋ชจ๋“  ์ฝ”๋“œ๋Š” ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  while๋ฌธ์ด ์žˆ๋Š” ๋ผ์ธ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ์ฆ‰, ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฑด๋„ˆ๋›ฐ๊ธฐ๋ฅผ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.

์•„๋ž˜ ์ฝ”๋“œ์—์„œ๋Š” โ€˜2โ€™๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์ถœ๋ ฅํ•˜์ง€ ์•Š๊ณ  ๊ฑด๋„ˆ๋›ด๋‹ค.

count = 0
while count < 31:
    count += 1
    if '2' in str(count):
      continue

    print(f'{count}')
1
3
4
5
6
7
8
9
10
11
13
14
15
16
17
18
19
30
31

๐Ÿ˜„๋ฌธ์ œ. 3, 6, 9 ๊ฒŒ์ž„์„ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”. 3,6,9๊ฐ€ ๋ฌธ์ž์—ด์— ๋“ค์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฐ•์ˆ˜๋ฅผ ์ˆซ์ž๋งŒํผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

print(f'{"๐Ÿ‘"*count}') #https://www.emojiengine.com/ko/keyboard/
1
2
๐Ÿ‘๐Ÿ‘๐Ÿ‘
4
5
๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘
7
8

......
28
๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘
......

while ์ค‘์ฒฉ๋ฌธ#

์ค‘์ฒฉ while๋ฌธ์€ while๋ฌธ ์•ˆ์— while๋ฌธ์ด ๋“ค์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

out_num = 1
while out_num <= 5:
  in_num = 1
  while in_num <= out_num:
    print('๐Ÿฉ', end='')
    in_num += 1
  print()
  out_num += 1
๐Ÿฉ
๐Ÿฉ๐Ÿฉ
๐Ÿฉ๐Ÿฉ๐Ÿฉ
๐Ÿฉ๐Ÿฉ๐Ÿฉ๐Ÿฉ
๐Ÿฉ๐Ÿฉ๐Ÿฉ๐Ÿฉ๐Ÿฉ

for loop#

while๋ฌธ์ด ์ฃผ์–ด์ง„ ์กฐ๊ฑด์— ๋Œ€ํ•ด ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด์˜€๋‹ค๋ฉด for๋ฌธ์€ ์ฃผ์–ด์ง„ ๋ฒ”์œ„์— ๋Œ€ํ•ด ์ˆœํšŒํ•œ๋‹ค.

for statements#

for ๋ณ€์ˆ˜ in ๋ฒ”์œ„(๋ฐ˜๋ณต๊ฐ€๋Šฅํ•œ ๊ฒƒ๋“ค):
    statements
next_statements
  • while๋ฌธ์—์„œ๋Š” ์กฐ๊ฑด์— ์‚ฌ์šฉ๋  ๋ณ€์ˆ˜๋ฅผ while๋ฌธ ์ „์— ๋ฏธ๋ฆฌ ์ •์˜ํ•ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ for๋ฌธ์—์„œ๋Š” for ๋‹ค์Œ์— ๋ฐ”๋กœ ์ •์˜ํ•˜๋ฉด ๋œ๋‹ค.

  • ๋ฒ”์œ„์—๋Š” range, ๋ฌธ์ž์—ด, ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋”•์…”๋„ˆ๋ฆฌ ๋“ฑ ๋ฐ˜๋ณต๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…(iterable data type)๋“ค์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

  • for๋ฌธ๊ณผ ํ•จ๊ป˜ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” range() ํ•จ์ˆ˜๋ฅผ ๋จผ์ € ์•Œ์•„๋ณด์ž.

  • range() ํ•จ์ˆ˜๋Š” ์ผ์ •ํ•œ ๊ทœ์น™์— ๋”ฐ๋ผ ๋‚˜์—ด๋œ ์ˆ˜์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.

range(์‹œ์ž‘, ๋, ๊ฐ„๊ฒฉ)
  • ์‹œ์ž‘: ๋ฒ”์œ„์˜ ์‹œ์ž‘ ๊ฐ’์ด๋ฉฐ, ์ƒ๋žตํ•˜๋ฉด 0์ด๋‹ค.

  • ๋: ๋ฒ”์œ„์˜ ๋๊ฐ’์ด๋ฉฐ, ๋๊ฐ’์€ ๋ฒ”์œ„์— ๋ฏธํฌํ•จ์ด๋‹ค.

  • ๊ฐ„๊ฒฉ: ๋ฒ”์œ„์˜ ๊ฐ„๊ฒฉ์ด๋ฉฐ, ์ƒ๋žตํ•˜๋ฉด 1์ด๋‹ค. ๊ฐ„๊ฒฉ์€ ๋ฐฉํ–ฅ๋„ ๊ฒฐ์ •์ง“๋Š”๋ฐ, ๊ฐ’์ด ์Œ์ˆ˜์ด๋ฉด ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ๊ฐ„๊ฒฉ๋งŒํผ ๊ฑด๋„ˆ๋›ด๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์˜๋ฏธ

์˜ˆ์‹œ

range(๋)

[0, 1, 2, 3, โ€ฆ, ๋-1]

range(4) โ†’ [0, 1, 2, 3]

range(์‹œ์ž‘, ๋)

[์‹œ์ž‘, ์‹œ์ž‘+1, ์‹œ์ž‘+2, โ€ฆ, ๋-1]

range(3, 5) โ†’ [3, 4]

range(์‹œ์ž‘, ๋, ์ฆ๊ฐ)

[์‹œ์ž‘, ์‹œ์ž‘+์ฆ๊ฐ, ์‹œ์ž‘+์ฆ๊ฐร—2, โ€ฆ, ์‹œ์ž‘+์ฆ๊ฐร—k]

range(2, 11, 2) โ†’ [2, 4, 6, 8, 10]

range(์‹œ์ž‘, ๋, -์ฆ๊ฐ)

[์‹œ์ž‘, ์‹œ์ž‘-์ฆ๊ฐ, ์‹œ์ž‘-์ฆ๊ฐร—2, โ€ฆ, ์‹œ์ž‘-์ฆ๊ฐร—k]

range(9, 1, -2) โ†’ [9, 7, 5, 3]

  • range() ํ•จ์ˆ˜์˜ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด์ž.

  • range(1, 10)์€ 1๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ˆ˜์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.

  • range(10)์€ ์‹œ์ž‘ ๊ฐ’ ์ƒ๋žต์œผ๋กœ 0๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ˆ˜์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.

  • range(3, 10, 3)์€ 3๋ถ€ํ„ฐ 9๊นŒ์ง€ 3์”ฉ ๊ฐ„๊ฒฉ์œผ๋กœ ์ˆ˜์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.

  • range(10, 3, -3)์€ 10๋ถ€ํ„ฐ 4๊นŒ์ง€ -3์”ฉ ๊ฐ„๊ฒฉ์œผ๋กœ ์ˆ˜์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.

list()๋ฅผ ํ™œ์šฉ

list()์™€ ํ•จ๊ป˜ ํ™œ์šฉํ•˜๋ฉด range()ํ•จ์ˆ˜์—์„œ ์ƒ์„ฑํ•œ ์ˆ˜์—ด์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ, list(range(1, 10))

list(range(1, 10))
list(range(10))
list(range(3, 10, 3))
list(range(10, 3, -3))
[10, 7, 4]
  • ๋ฒ”์œ„์— range()๋ฅผ ๋„ฃ์–ด๋ณด์ž.

  • 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ๋ฒ”์œ„๋ฅผ ๋ณ€์ˆ˜ count๊ฐ€ ๊ทธ ๊ฐ’์„ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•˜๋ฉด์„œ ๋ฐ˜๋ณตํ•œ๋‹ค.

  • ๋น„์Šทํ•œ ์ถœ๋ ฅ๊ฒฐ๊ณผ๋ฅผ while๋ฌธ์—์„œ๋„ ํ•ด๋ดค์„ ๊ฒƒ์ด๋‹ค. for๋ฌธ์ด while๋ฌธ๋ณด๋‹ค๋Š” ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

for count  in range(1, 11):
    print(f'๐ŸŒณ๋ฅผ {count}๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. {"๐ŸŒณ"*count}')
print('์•„~ ๊ณต๊ธฐ์ข‹๋‹ค~~~')
๐ŸŒณ๋ฅผ 1๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ
๐ŸŒณ๋ฅผ 2๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 3๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 4๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 5๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 6๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 7๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 8๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 9๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 10๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
์•„~ ๊ณต๊ธฐ์ข‹๋‹ค~~~
for count  in range(1, 11, 2):
    print(f'๐ŸŒณ๋ฅผ {count}๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. {"๐ŸŒณ"*count}')
print('์•„~ ๊ณต๊ธฐ์ข‹๋‹ค~~~')
๐ŸŒณ๋ฅผ 1๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ
๐ŸŒณ๋ฅผ 3๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 5๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 7๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
๐ŸŒณ๋ฅผ 9๊ทธ๋ฃจ ์‹ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ๐ŸŒณ
์•„~ ๊ณต๊ธฐ์ข‹๋‹ค~~~

๐Ÿ˜„๋ฌธ์ œ. for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๊ตฌ๊ตฌ๋‹จ 2๋‹จ์„ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”. ^^^

test case-1

2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
  • ๋ฐ˜๋ณต๋ฌธ์•ˆ์—์„œ ๊ฐ’์„ ๋ˆ„์ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ˆ„์ ์„ ์œ„ํ•œ ๋ณ€์ˆ˜๋ฅผ ๋ฐ˜๋ณต๋ฌธ ๋ฐ– ์œ„์ชฝ์— ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.

  • ์•„๋ž˜ ์ฝ”๋“œ์—์„œ total์€ ์ฒ˜์Œ์— 0์ด์˜€์ง€๋งŒ ๋ฐ˜๋ณตํ•  ๋•Œ๋งˆ๋‹ค total = total + i์— ์˜ํ•ด 1=0+1, 3=1+2, 6=3+3, 10=6+4โ€ฆ..๋กœ ๋ˆ„์ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค.

total=0
for i in range(1,11):
  total = total+i
  print(total)

print("The total is", total)
1
3
6
10
15
21
28
36
45
55
The total is 55
  • ๋ฌธ์ž์—ด ์ˆœํšŒ: ๋ฒ”์œ„์— ๋ฌธ์ž์—ด์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ž์—ด์˜ ๊ฒฝ์šฐ ๋ณ€์ˆ˜ i๊ฐ€ ํ•œ ๊ธ€์ž์”ฉ ์ˆœํšŒํ•œ๋‹ค.

for i in 'Hello World':
    print (i)
H
e
l
l
o
 
W
o
r
l
d
  • ๋ฆฌ์ŠคํŠธ ์ˆœํšŒ: ๋ฒ”์œ„์— ๋ฆฌ์ŠคํŠธ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ๊ฒฝ์šฐ ๋ณ€์ˆ˜ i๊ฐ€ ๋ฆฌ์ŠคํŠธ๋‚ด ์•„์ดํ…œ(์›์†Œ, ์š”์†Œ, ์—˜๋ฆฌ๋จผํŠธ)๋ฅผ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•œ๋‹ค.

  • ๋ฆฌ์ŠคํŠธ๋Š” ์•„์ง ์•ˆ ๋ฐฐ์› ์œผ๋‹ˆ [โ€˜programmingโ€™, โ€˜pastaโ€™, โ€˜spamโ€™, โ€˜play parkโ€™] ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๊ฐ€ ๋ฆฌ์ŠคํŠธ๋ผ๋Š” ๊ฒƒ๋งŒ ๋ˆˆ์— ์ตํ˜€๋‘์ž.

for i in ['programming', 'pasta', 'spam', 'play park']:
    print (i)
programming
pasta
spam
play park
  • ๋”•์…”๋„ˆ๋ฆฌ ์ˆœํšŒ: ๋ฒ”์œ„์— ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ์˜ ๊ฒฝ์šฐ ๋ณ€์ˆ˜ i๊ฐ€ ๋”•์…”๋„ˆ๋ฆฌ์˜ key๋ฅผ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•œ๋‹ค.

  • ๋”•์…”๋„ˆ๋ฆฌ ๋˜ํ•œ ์•„์ง ์•ˆ ๋ฐฐ์› ์œผ๋‹ˆ {โ€˜2323-12345โ€™:โ€™๊ฐ€์˜โ€™, โ€˜2323-12346โ€™:โ€™๋‚˜์˜โ€™} ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๊ฐ€ ๋”•์…”๋„ˆ๋ฆฌ๋ผ๋Š” ๊ฒƒ๋งŒ ๋ˆˆ์— ์ตํ˜€๋‘์ž.

for i in {'2323-12345':'๊ฐ€์˜', '2323-12346':'๋‚˜์˜'}:
    print (i)
2323-12345
2323-12346

for~else#

for๋ฌธ์—๋„ else๊ฐ€ ์žˆ๋‹ค. while ~ else์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ for๋ฌธ์ด ์ •์ƒ์ ์œผ๋กœ ๋ชจ๋“  ๋ฐ˜๋ณต์„ ๋‹ค ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰ํ•œ๋‹ค.

for ๋ณ€์ˆ˜ in ๋ฆฌ์ŠคํŠธ(or ๋ฌธ์ž์—ด ๋“ฑ) :
    statements1
    if ์กฐ๊ฑด:
        if_statements
        break
    statements2
else:
    else_statements
next_statements
a = 'computer'
letter = 'u'

for i in a:
    if i == letter:
        print(f'{letter}๊ฐ€ ๊ฒ€์ƒ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.')
        break
else:
    print(f'{letter}๋Š” ๊ฒ€์ƒ‰๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.')
print('END')
u๊ฐ€ ๊ฒ€์ƒ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
END

for ์ค‘์ฒฉ๋ฌธ#

์ค‘์ฒฉ for๋ฌธ์€ for๋ฌธ ์•ˆ์— ๋‹ค๋ฅธ for๋ฌธ์ด ๋“ค์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

for dan in range(2,10):
    print(f'{dan}๋‹จ')
    for num in range(1,10):
        print(f'{dan}*{num}={dan*num}')
    print()
2๋‹จ
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18

3๋‹จ
3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27

4๋‹จ
4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36

5๋‹จ
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45

6๋‹จ
6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54

7๋‹จ
7*1=7
7*2=14
7*3=21
7*4=28
7*5=35
7*6=42
7*7=49
7*8=56
7*9=63

8๋‹จ
8*1=8
8*2=16
8*3=24
8*4=32
8*5=40
8*6=48
8*7=56
8*8=64
8*9=72

9๋‹จ
9*1=9
9*2=18
9*3=27
9*4=36
9*5=45
9*6=54
9*7=63
9*8=72
9*9=81

๋งˆ๋ฌด๋ฆฌ#

  • ๋ฐ˜๋ณต๊ตฌ์กฐ๋Š” ์กฐ๊ฑด ๋˜๋Š” ๋ฒ”์œ„์— ๋”ฐ๋ผ ์‹คํ–‰๋ฌธ์žฅ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

  • while๋ฌธ์€ ์กฐ๊ฑด๋น„๊ต ๊ฒฐ๊ณผ๊ฐ€ True์ธ ๋™์•ˆ ๋ธ”๋ก ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • for๋ฌธ์€ ๋ฒ”์œ„์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐ˜๋ณตํ•œ๋‹ค.

  • for๋ฌธ์˜ in ์—ฐ์‚ฐ์ž ๋’ค์—๋Š” ๋ฐ˜๋ณต๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐํƒ€์ž…์ธ ์ˆซ์ž, ๋ฆฌ์ŠคํŠธ, ๋ฌธ์ž์—ด, ๋”•์…”๋„ˆ๋ฆฌ, ํŠœํ”Œ, ์…‹ ๋“ฑ์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

  • for ๋‹ค์Œ์˜ ๋ณ€์ˆ˜๋Š” in ๋’ค์— ์žˆ๋Š” ์ž๋ฃŒ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ์ฐจ๋ก€๋Œ€๋กœ ์ €์žฅํ•œ๋‹ค.

  • for๋ฌธ์€ ์ˆซ์ž๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” range()ํ•จ์ˆ˜๋ฅผ ์œ ์šฉํ•˜๊ฒŒ ํ™œ์šฉํ•œ๋‹ค.