์ฝ”๋“œ - ํŒจ์บ  ์ˆ˜์—… ์ฝ”๋“œ ์ฐธ๊ณ  (ํŒจ์บ  ์ˆ˜์—… ์ •๋ฆฌ)

 

 

<์ด์ „ ๊ธ€>

https://silvercoding.tistory.com/37

 

[python ๊ธฐ์ดˆ] 5. ํŒŒ์ด์ฌ ํ๋ฆ„์ œ์–ด (์ œ์–ด๋ฌธ) - ์กฐ๊ฑด๋ฌธ if

์ฝ”๋“œ - ํŒจ์บ  ์ˆ˜์—… ์ฝ”๋“œ ์ฐธ๊ณ  (ํŒจ์บ  ์ˆ˜์—… ์ •๋ฆฌ) <์ด์ „ ๊ธ€> https://silvercoding.tistory.com/36 https://silvercoding.tistory.com/35 https://silvercoding.tistory.com/34 https://silvercoding.tistory.com/33..

silvercoding.tistory.com

 

 

 

(1) while ๋ฌธ 

- ์˜ˆ์ œ 1

v1 = 1
while v1 < 11:
    print("v1 is : ", v1)
    v1 += 1

 v1 is :  1 
 v1 is :  2 
 v1 is :  3 
 v1 is :  4 
 v1 is :  5 
 v1 is :  6 
 v1 is :  7 
 v1 is :  8 
 v1 is :  9 
 v1 is :  10 

while๋ฌธ์€ ์กฐ๊ฑด์ด ์ฐธ์ผ ๋™์•ˆ ๊ณ„์† ๋ฐ˜๋ณตํ•œ๋‹ค. ์ด ์˜ˆ์ œ์—์„œ๋Š” 11๋ณด๋‹ค ์ž‘์„ ๋•Œ, ์ฆ‰ 10๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. 

 

 

- ์˜ˆ์ œ 2 

sum1 = 0 
cnt1 = 1
while cnt1 <= 100: 
    sum1 += cnt1
    cnt1 += 1
print('1 ~ 100: ', sum1)

 1 ~ 100:  5050 

cnt1์ด 100 ์ดํ•˜์ผ ๋™์•ˆ ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. sum1์— 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” cnt1์„ ๊ณ„์† ๋”ํ•ด์คŒ์œผ๋กœ์จ 1๋ถ€ํ„ฐ 100๊นŒ์ง€์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. 

 

 

* ์ฐธ๊ณ  - ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ sum(), range()์ด์šฉ

print('1 ~ 100: ', sum(range(1, 101)))
print('1 ~ 100: ', sum(range(1, 101, 2)))

 1 ~ 100:  5050 
 1 ~ 100:  2500 

๋” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ฉ์„ ๊ตฌํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. 1๋ถ€ํ„ฐ 100๊นŒ์ง€ ํ™€์ˆ˜์˜ ํ•ฉ๋งŒ์„ ๊ตฌํ•˜๋ ค๋ฉด range(1, 101, 2) ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2) for ๋ฌธ 

* ์‹œํ€€์Šค (์ˆœ์„œ๊ฐ€ ์žˆ๋Š”) ์ž๋ฃŒํ˜• ๋ฐ˜๋ณต : ๋ฌธ์ž์—ด, ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ์ง‘ํ•ฉ, ์‚ฌ์ „ 

* iterable ๋ฆฌํ„ด ํ•จ์ˆ˜ : range. reversed, enumerate, filter, map, zip 

 

- ์˜ˆ์ œ1 - range() 

for v3 in range(1, 11):
    print('v3 is : ', v3)

 v3 is :  1 
 v3 is :  2 
 v3 is :  3 
 v3 is :  4 
 v3 is :  5 
 v3 is :  6 
 v3 is :  7 
 v3 is :  8 
 v3 is :  9 
 v3 is :  10 

์‹œํ€€์Šค ์ž๋ฃŒํ˜•์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ์œ„์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์—์„œ๋Š” 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ v3์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์ถœ๋ ฅํ•ด ์ค€๋‹ค. 

 

 

- ์˜ˆ์ œ2 - ๋ฆฌ์ŠคํŠธ (ilst)

names = ['Kim', 'Park', 'Cho', 'Choi', 'Yoo']
for v in names: 
    print('You are: ', v)

 You are:  Kim 
 You are:  Park 
 You are:  Cho 
 You are:  Choi 
 You are:  Yoo 

๋ฆฌ์ŠคํŠธ ์ž๋ฃŒํ˜•์„ ๋„ฃ์–ด์ฃผ์–ด๋„ ๋ฐ˜๋ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค! 

 

 

- ์˜ˆ์ œ3 - ๋ฌธ์ž์—ด (str)

word = "dreams"
for s in word:
    print("Word: ", s)

 Word:  d 
 Word:  r 
 Word:  e 
 Word:  a 
 Word:  m 
 Word:  s 

๋ฌธ์ž์—ด๋„ ๋ฐ˜๋ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

 

- ์˜ˆ์ œ4 - ๋”•์…”๋„ˆ๋ฆฌ (dictionary) 

my_info = {
    'name' : 'kim',
    'age' : 33, 
    'city' : 'Seoul'
}

์šฐ์„  ๋”•์…”๋„ˆ๋ฆฌ ์„ ์–ธํ•˜๊ธฐ 

 

(1) ๊ธฐ๋ณธ : key

for key in my_info:
    print('my_info', key)

 my_info name 
 my_info age 
 my_info city 
๋”•์…”๋„ˆ๋ฆฌ ์ž์ฒด๋ฅผ ๋ฐ˜๋ณต๋ฌธ์— ๋„ฃ์œผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ‚ค๊ฐ€ ๋ฐ˜๋ณต๋œ๋‹ค. 

 

 

(2) values

for key in my_info.values():
    print('my_info', key)

 my_info kim 
 my_info 33 
 my_info Seoul 

 

 

 

(3) keys

for key in my_info.keys():
    print('my_info', key)

 my_info name 
 my_info age 
 my_info city 

 

(4) items 

for key, value in my_info.items():
    print('my_info', key, value)

 my_info name kim 
 my_info age 33 
 my_info city Seoul 

 

 

- ์˜ˆ์ œ5 : ๋ฐ˜๋ณต๋ฌธ + ์กฐ๊ฑด๋ฌธ 

name = 'KennRY'
name2 = ""

KennRY ์—์„œ ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ, ์†Œ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ณ , ์ตœ์ข…์ ์œผ๋กœ name2์— ๋ฐ”๋€ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 

for n in name:
    if n.isupper():
        print(n.lower())
        name2+=n.lower()
    else:
        print(n.upper())
        name2+=n.upper()

 k 
 E 
 N 
 N 
 r 
 y 

print(name2)

 kENNry 

๋ฌธ์ž์—ด์„ ๋ฐ˜๋ณตํ•˜์—ฌ, ๊ธ€์ž๊ฐ€ ๋Œ€๋ฌธ์ž๋ฉด ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ณ  name2์— ๊ธ€์ž๋ฅผ ๋”ํ•ด์ค€๋‹ค. ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ๋™์ผํ•˜๊ฒŒ ํ•ด์ค€๋‹ค. ๊ทธ๋Ÿผ ์ด์ฒ˜๋Ÿผ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

 

 

- ์˜ˆ์ œ6 : break

numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 35, 36, 38]
numbers2 = [14, 3, 4, 7, 10, 24, 17, 2, 37, 35, 36, 38]
for num in numbers: 
    if num == 33:
        print('found : 33 !')
        break
    else:
        print('not found : 33!')

 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 found : 33 ! 

33์„ ๋ฐœ๊ฒฌํ•˜๋ฉด break๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์‹ค์ œ๋กœ 33 ์ฐจ๋ก€๊ฐ€ ์™”์„ ๋•Œ, found : 33 ! ์ด ์ถœ๋ ฅ๋˜๊ณ , ๊ทธ ์ดํ›„๋กœ๋Š” ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

 

 

- ์˜ˆ์ œ7 : for-else ๊ตฌ๋ฌธ 
: ๋ฐ˜๋ณต๋ฌธ์ด ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰(๋ชจ๋“  ๊ฐ’ ์ˆœํšŒ ) ๋œ ๊ฒฝ์šฐ else ๋ธ”๋Ÿญ ์ˆ˜ํ–‰ 

for num in numbers2: 
    if num == 33:
        print('found : 33 !')
        break
    else:
        print('not found : 33!')
else:
    print('Not found 33 ...........')

 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 not found : 33! 
 Not found 33 ........... 

break๋ฌธ ๋“ฑ์œผ๋กœ ์ธํ•˜์—ฌ ๋ฐ˜๋ณต๋ฌธ์ด ์ •์ƒ์ ์œผ๋กœ ๋ชจ๋“  ๊ฐ’์„ ์ˆœํšŒํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ else๋ธ”๋Ÿญ์€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ์ œ7๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” 33์ด ๋ฆฌ์ŠคํŠธ์— ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ •์ƒ์ ์œผ๋กœ ๋ชจ๋“  ๊ฐ’์„ ์ˆœํšŒํ•˜์—ฌ else๋ธ”๋Ÿญ์ด ์ˆ˜ํ–‰๋˜์—ˆ๋‹ค. 

 

 

 

- ์˜ˆ์ œ8 : continue

lt = ['1', 2, 5, True, 4.3, complex(4)]
for v in lt: 
    if type(v) is float:
        continue
    print('ํƒ€์ž… : ', type(v))

 ํƒ€์ž… :  <class 'str'> 
 ํƒ€์ž… :  <class 'int'>
 ํƒ€์ž… :  <class 'int'> 
 ํƒ€์ž… :  <class 'bool'> 
 ํƒ€์ž… :  <class 'complex'> 

continue๋ฅผ ๋งŒ๋‚˜๋ฉด ๊ทธ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๊ณง๋ฐ”๋กœ for๋ฌธ์˜ ์ฒซ๋ฒˆ์งธ๋กœ ๋˜๋Œ์•„ ๊ฐ€ ๋ฐ˜๋ณต์„ ๊ทธ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์˜ˆ์ œ8์—์„œ๋Š” floatํƒ€์ž…์ด๋ฉด continue๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. float ํƒ€์ž…์ธ 4.3์„ ์ค‘๊ฐ„์— ๋„ฃ์–ด๋†“์•˜๋”๋‹ˆ ๊ทธ ํ›„์˜ print๋ฌธ์€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  complexํƒ€์ž…์€ ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

- ์˜ˆ์ œ9 : reversed ํ•จ์ˆ˜ 

name = 'Niceman'
print(reversed(name))
print(list(reversed(name)))
print(tuple(reversed(name)))

 <reversed object at 0x000001C1CC70D898> 
 ['n', 'a', 'm', 'e', 'c', 'i', 'N'] 
 ('n', 'a', 'm', 'e', 'c', 'i', 'N') 

reversed ํ•จ์ˆ˜๋Š” ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•ด์„œ ๋ณด๊ธฐ ์œ„ํ•ด list๋‚˜ tuple๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. 

for i in reversed(name):
    print(i)

 n 
 a 
 m 
 e 
 c 
 i 
 N 

ํ•˜์ง€๋งŒ iterable์„ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— for๋ฌธ์—์„œ๋Š” ๊ณง๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

+ Recent posts