์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ด์œ  ์ค‘์—๋Š” ๊ณ„์†์ ์œผ๋กœ ๋ฐ˜๋ณตํ•˜๋Š” ์ž‘์—…์„ ์ปดํ“จํ„ฐ๊ฐ€ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•˜์—ฌ ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ๊ธฐ๋Šฅ์„ ๋ฐ˜๋ณต๋ฌธ์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๋‹ค์–‘ํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์ œ๊ณตํ•œ๋‹ค.

for

for i in [1,2,3,4,5,6,7,8,9]:
    print(i, end = "  ")
 
>> 1  2  3  4  5  6  7  8  9

range()

  1. range(limit): 0์—์„œ limit - 1๊นŒ์ง€๋ฅผ, 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ํ˜•ํƒœ์˜ ๊ฐ’์œผ๋กœ ๋Œ๋ ค ์ค€๋‹ค.
  2. range(start, end): start์—์„œ end๊นŒ์ง€๋ฅผ, 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ํ˜•ํƒœ์˜ ๊ฐ’์œผ๋กœ ๋Œ๋ ค ์ค€๋‹ค.
  3. range(start, end, step): start์—์„œ end๊นŒ์ง€์˜ ๊ฐ’์„ ๋Œ๋ ค ์ฃผ๋Š”๋ฐ, ์ˆซ์ž์˜ ์ฆ๊ฐ€ํญ์„ step๋งŒํผ์œผ๋กœ ํ•œ๋‹ค.

Example

print("Case.1")
for i in range(3) :
    print(i, end = "  ")
 
print("")
print("Case.2")
for i in range(1,3) :
    print(i, end = "  ")
 
print("")
print("Case.3")
for i in range(0,10,2) :
    print(i, end = "  ")
 
print("")
print("Case.4")
for i in range(10,0,-2) :
    print(i, end = "  ")
Output
Case.1
0  1  2
Case.2
1  2
Case.3
0  2  4  6  8
Case.4
10  8  6  4  2

While

for ์™€ while์˜ ์ฐจ์ด์ 

# for statement
for i in [1,2,3,4,5,6,7,8,9] :
    print(i)
# while statement
i = 1
while i <= 9 :
    print(i)
    i = i + 1

๋‘ ๊ตฌ๋ฌธ์€ ๊ฐ™์€ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

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

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

๋ฌดํ•œ๋ฃจํ”„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

i = 0
while True:
    i = i + 1
    print(i end = " ")
 

๊ทธ๋ ‡๋‹ค๋ฉด ํŠน์ • ์กฐ๊ฑด์ด ๋‚˜์™”์„ ๋•Œ ํƒˆ์ถœํ•˜๋Š” ๋ฌธ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ?

break

ํŠน์ • ์กฐ๊ฑด์—์„œ ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ํƒˆ์ถœ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ”์ฃผ์ž.

i = 0
while True :
    i = i + 1
    print(i, end = " ")
 
    if(i == 10):
        break

Continue

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

i = 0
while True :
    i = i + 1
 
    if i % 2 == 0:
        print(i, end = " ")
        if(i == 100): #NEW.1
            break #NEW.2
    else:
        continue
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100

Lab

์ œ๋Œ€๋กœ ๋œ ๊ตฌ๊ตฌ๋‹จ ํ”„๋กœ๊ทธ๋žจ ์™„์„ฑํ•˜๊ธฐ

์ด์ œ ์šฐ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ œ๋Œ€๋กœ๋œ ๊ตฌ๊ตฌ๋‹จ ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ๊ณ„๋กœ ์™”๋‹ค. calcGugudan() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ฒ˜๋Ÿผ List in Lists์˜ ํ˜•ํƒœ๋กœ ๊ตฌ๊ตฌ๋‹จ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ถœ๋ ฅ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด ๋ณด์ž.

์ถœ๋ ฅ ์˜ˆ์‹œ

Output
['  1  ', '  2  ', '  3  ', '  4  ', '  5  ', '  6  ', '  7  ', '  8  ', '  9  ']
['  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 ']
Gugudan = []
 
for i in range(1,10):
    temp = []
    for j in range(1,10):
 
        temp.append(' {} '.format(i*j))
    Gugudan.append(temp)
    temp = []
 
Gugudan

์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ˆซ์ž๋ณด๋‹ค ์ž‘์€ ์ˆซ์ž๋กœ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ

๋‹ค์Œ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ์•„๋ž˜์˜ ์ž…๋ ฅ์ฐฝ์„ ํ†ตํ•ด์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ฆฌ์ŠคํŠธ a๊ฐ€ [1,2,1,8,9,4,2,5,1,3]๋กœ ์ดˆ๊ธฐํ™” ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ •์ˆ˜ ํ•˜๋‚˜๋ฅผ ์ž…๋ ฅ๋ฐ›์Šต๋‹ˆ๋‹ค.
  3. ๋ฆฌ์ŠคํŠธ a์˜ ์•„์ดํ…œ ์ค‘ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ˆซ์ž๋ณด๋‹ค ์ž‘์€ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด๋•Œ, ์ถœ๋ ฅํ•  ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•˜์ง€ ๋ง๊ณ , ํ•ด๋‹น๋˜๋Š” ์ˆซ์ž๋“ค์„ ๋ชจ์•„ ์ƒˆ๋กœ์šด list๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ทธ list๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
a = [1,2,1,8,9,4,2,5,1,3]
 
int_input =  int(input("์ž…๋ ฅํ•ด!! : "))
low_num_a = []
 
for i in range(len(a)):
    if (a[i] <= int_input):
        low_num_a.append(a[i])
 
print(low_num_a)
Output
์ž…๋ ฅํ•ด!! : 3
[1, 2, 1, 2, 1, 3]

๋‘ ๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ๋ณ‘ํ•ฉํ•˜์—ฌ ์ค‘๋ณต๋œ ์•„์ดํ…œ์ด ์—†๋Š” ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ

๋‹ค์Œ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ์•„๋ž˜์˜ ์ž…๋ ฅ์ฐฝ์„ ํ†ตํ•ด์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

(a) ๋‘ ๊ฐœ์˜ list a์™€ b๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

(b) a = [1,1,2,3,5,8,13,24,34,55]

(c) b = [1,1,2,3,4,5,6,7,8,9,10,11,12]

(d) ๋‘ list์— ๋ชจ๋‘ ํฌํ•จ๋˜๋Š” ์š”์†Œ(element)๋ฅผ ๋ชจ์•„์„œ, ์ค‘๋ณต๋˜๋Š” ์š”์†Œ๊ฐ€ ์—†๋Š” ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ c๋ฅผ ๋งŒ๋“  ํ›„, ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

a = [1,1,2,3,5,8,13,24,34,55]
b = [1,1,2,3,4,5,6,7,8,9,10,11,12]
 
checker = []
 
for i in range(len(a)):
    if(a[i] not in checker):
        checker.append(a[i])
for k in range(len(b)):
    if(b[k] not in checker):
        checker.append(b[k])
 
checker.sort()
checker
Output
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 24, 34, 55]

์ˆซ์ž ์ถ”์ธก ๊ฒŒ์ž„ ๊ฐœ๋ฐœํ•˜๊ธฐ (1)

๋‹ค์Œ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ์•„๋ž˜์˜ ์ž…๋ ฅ์ฐฝ์„ ํ†ตํ•ด์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. 1์—์„œ 9 ์‚ฌ์ด์˜ ์ˆซ์ž(1๊ณผ 9 ํฌํ•จ) ์ค‘ ํ•˜๋‚˜๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ์‚ฌ์šฉ์ž์—๊ฒŒ ์ˆซ์ž๋ฅผ ์ถ”์ธกํ•˜์—ฌ ์ž…๋ ฅํ•˜๊ฒŒ ํ•˜๊ณ , ์ž…๋ ฅํ•œ ์ˆ˜๊ฐ€ ์ƒ์„ฑ๋œ ์ˆ˜๋ณด๋‹ค ํฐ์ง€, ์ž‘์€์ง€, ๊ฐ™์€์ง€๋ฅผ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.
  3. ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑ๋œ ์ˆ˜์™€ ๊ฐ™์€ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•  ๋•Œ๊นŒ์ง€ ํ”„๋กœ๊ทธ๋žจ์€ ๋๋‚˜์ง€ ์•Š๊ณ  ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค.
import random as rd
 
com_num = rd.randrange(1,10)
 
while(1):
 
    my_num = int(input("๋งž์ถฐ๋ด! : "))
 
    if (com_num > my_num):
        print("up")
 
    elif (com_num < my_num):
        print("down")
 
    else:
        print("๋งž์ถ”๋‹ค๋‹ˆ.......! ๋‚ด๊ฐ€ ์กŒ๋‹ค.")
        break
Output
๋งž์ถฐ๋ด! : 3
up
๋งž์ถฐ๋ด! : 5
down
๋งž์ถฐ๋ด! : 4
๋งž์ถ”๋‹ค๋‹ˆ.......! ๋‚ด๊ฐ€ ์กŒ๋‹ค.

์ˆซ์ž ์ถ”์ธก ๊ฒŒ์ž„ ๊ฐœ๋ฐœํ•˜๊ธฐ (2)

  1. ์•ž์„œ ์ˆซ์ž ์ถ”์ธก ๊ฒŒ์ž„ ๊ฐœ๋ฐœํ•˜๊ธฐ (1) ๋ฌธ์ œ์™€ ๋ฐ˜๋Œ€๋˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
  2. ์ด๋ฒˆ์—๋Š” ์‚ฌ์šฉ์ž(๋‹น์‹ )๊ฐ€ 0์—์„œ 100 ์‚ฌ์ด ์ˆซ์ž ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ ๋จธ๋ฆฌ ์†์— ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค.
  3. ํ”„๋กœ๊ทธ๋žจ์ด ๊ทธ ์ˆซ์ž๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋งžํžˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  4. ํ”„๋กœ๊ทธ๋žจ์ด ์ˆซ์ž๋ฅผ guessํ• ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉ์ž๋Š” ๊ทธ ์ˆซ์ž๊ฐ€ ์ž์‹ ์ด ์ƒ๊ฐํ•œ ์ˆ˜ ๋ณด๋‹ค ํฐ์ง€(2), ์ž‘์€์ง€(0), ํ˜น์€ ๋˜‘๊ฐ™์€์ง€(1) ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  5. ํ”„๋กœ๊ทธ๋žจ์ด ์ˆซ์ž๋ฅผ ๋งžํžˆ๋ฉด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
from random import *
 
start = 0
end = 100
 
while(1):
 
    com_num = randrange(start,end)
    print("๋„ˆ์˜ ์ˆซ์ž๋Š” {} ๊ฑฐ์•ผ".format(com_num))
 
    updown = int(input("up : 2, same : 1, down : 0 = "))
 
    if (updown == 2):
        print("๋” ํฐ์ˆซ์ž์•ผ!")
        start = com_num + 1
 
    if (updown == 0):
        print("๋” ์ž‘์€ ์ˆซ์ž์•ผ!")
        end = com_num
 
    if (updown == 1):
        print("์ž˜ํ–ˆ์–ด!")
        break
Output
๋„ˆ์˜ ์ˆซ์ž๋Š” 56 ์ผ๊ฑฐ์•ผ
up : 2, same : 1, down : 0 = 0
๋” ์ž‘์€ ์ˆซ์ž์•ผ!
๋„ˆ์˜ ์ˆซ์ž๋Š” 19 ์ผ๊ฑฐ์•ผ
up : 2, same : 1, down : 0 = 2
๋” ํฐ์ˆซ์ž์•ผ!
๋„ˆ์˜ ์ˆซ์ž๋Š” 50 ์ผ๊ฑฐ์•ผ
up : 2, same : 1, down : 0 = 1
์ž˜ํ–ˆ์–ด!