07: ๋ฐ˜๋ณต๋ฌธ (23.04.09)

๊น€์œค์„œยท2023๋…„ 4์›” 10์ผ
post-thumbnail

๐Ÿ“ํšŸ์ˆ˜์— ์˜ํ•œ ๋ฐ˜๋ณต(for๋ฌธ)

์ •ํ•ด ๋†“์€ ๋ฐ˜๋ณต ํšŸ์ˆ˜์— ๋”ฐ๋ผ ๋ฐ˜๋ณต ์‹คํ–‰ํ•œ๋‹ค.

(ex) ๋Œ€๋Ÿ‰ ๋ฉ”์ผ์ด๋‚˜ ๋ฌธ์ž ๋ฐœ์†ก, ์ธ์‚ฌ๋ง ๋ฐ˜๋ณต

ํšŸ์ˆ˜์— ์˜ํ•œ ๋ฐ˜๋ณต์€ for๋ฌธ์ด ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

โ€ข for๋ฌธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

for ~ in ์‚ฌ์ด์— ๋“ค์–ด์˜ค๋Š” ๊ฐ’์€ ๋ณ€์ˆ˜
: for i in: ์ด๋•Œ i๋Š” ๋ณ€์ˆ˜
์ฃผ๋กœ ์ˆซ์ž๊ฐ€ ๋งŽ์ด ๋“ค์–ด์˜ค๊ธฐ ๋–„๋ฌธ์— int์˜ ์•ž๊ธ€์ž์ธ i๋ฅผ ๋งŽ์ด ์”€

for i in range(1, 10):
     result = 7 * i
     print('{} * {} = {}'.format(7, i, result))
    
7 * 0 = 0
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21

๋ฐ˜๋ณตํšŸ์ˆ˜๋Š” ํ•˜๋‚˜ ๋บ€ ๊ฐ’ ๋„์ถœ
-> (1, 10) ๊นŒ์ง€ ํ•˜๊ฒŒ ๋˜๋ฉด 9๊นŒ์ง€์˜ ๊ฒฐ๊ณผ ๋„์ถœ
-> ์ฆ‰ ํ•˜๋‚˜ ๋บ€ ๊ฐ’๊นŒ์ง€์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.
->0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— 0,1,2,3,4,5,6,7,8,9 ์ด 10๋ฒˆ ๋ฐ˜๋ณต์ด๋‹ค

PASS ํ‚ค์›Œ๋“œ: ์‹คํ–‰๋ฌธ์ด ์ง€๊ธˆ ์—†์Œ = ๋‚˜์ค‘์— ์ฝ”๋”ฉ ํ•˜๊ฒ ๋‹ค

๐Ÿ“์‹ค์Šต
โ€˜Hello pythonโ€™ ๋ฌธ์ž์—ด์„ 5๋ฒˆ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ž.

for num in range(5):
    print('Hello python')

๐Ÿ“๋ฐ˜๋ณต ๋ฒ”์œ„ ์„ค์ •(range () ํ•จ์ˆ˜)

โ€ข range() ๊ธฐ๋ณธ

for i in range(1, 11, 1) => (์‹œ์ž‘, ๋, ๋‹จ๊ณ„)
: 1๋ถ€ํ„ฐ 10๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€

for i in range(1, 11, 1):
1๋ถ€ํ„ฐ 10๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ๋ฐ˜๋ณต
-> 1,2,3, ... 10

for i in range(0, 10, 2):
0๋ถ€ํ„ฐ 9๊นŒ์ง€ 2์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ๋ฐ˜๋ณต
-> 0,2,4, ...8

for i in range(5, 10, 1):
5๋ถ€ํ„ฐ 10๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ๋ฐ˜๋ณต
-> 5,6,7,8,9

โ€ข range() ๋ณ€ํ˜•
โ‘  ๋‹จ๊ณ„ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ƒ๋žต ๊ฐ€๋Šฅ

for i in range(1, 11) : 1๋ถ€ํ„ฐ 10๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€
->but only ๋‹จ๊ณ„๊ฐ€ 1์ธ ๊ฒฝ์šฐ์— ์ƒ๋žต ๊ฐ€๋Šฅ

โ‘ก ์‹œ์ž‘ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ƒ๋žต

for i in range(11) : 0๋ถ€ํ„ฐ 10๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€
->but only ์‹œ์ž‘์ด 0์ธ ๊ฒฝ์šฐ์— ์ƒ๋žต ๊ฐ€๋Šฅ

๐Ÿ“์‹ค์Šต
1์—์„œ 100๊นŒ์ง€์˜ ์ •์ˆ˜ ์ค‘ 3์˜ ๋ฐฐ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” ์ •์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ž.

for i in range(1, 101):
   if i % 3 == 0:
       print(i)

๐Ÿ“์กฐ๊ฑด์— ์˜ํ•œ ๋ฐ˜๋ณต(while๋ฌธ)

์กฐ๊ฑด์ด ๋งŒ์กฑํ•˜๋ฉด ๋ฐ˜๋ณต ์‹คํ–‰. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•œ๋‹ค.

(ex) ๋งค์ผ ์•„์นจ ๊ธฐ์ƒ ์•Œ๋žŒ, ํƒ€์ด๋จธ

์กฐ๊ฑด์— ์˜ํ•œ ๋ฐ˜๋ณต์€ while๋ฌธ์ด ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

โ€ข while๋ฌธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

while ํ‚ค์›Œ๋“œ ๋’ค์— ์กฐ๊ฑด์‹

n = 1

while n < 10:
      result = 7 * n
      print('{} * {} = {}'.format(7, n, result))
      n += 1

7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28

์กฐ๊ฑด๋ฌธ์ด ํ•ญ์ƒ true ๋ผ๋ฉด ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์งˆ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜ํ•  ๊ฒƒ

๐Ÿ“์‹ค์Šต โ‘ 
1๋ถ€ํ„ฐ 100๊นŒ์ง€์˜ ์ •์ˆ˜ ์ค‘ 2์˜ ๋ฐฐ์ˆ˜์™€ 3์˜ ๋ฐฐ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•˜์ž.
(๋‹จ, while๋ฌธ์„ ์ด์šฉํ•˜์ž.)
๐Ÿ“์‹ค์Šต โ‘ก
while๋ฌธ์„ ์ด์šฉํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•˜์ž.

๐Ÿ“for๋ฌธ๊ณผ while๋ฌธ ๋น„๊ต

โ€ข for๋ฌธ์ด ์ ํ•ฉํ•œ ๊ฒฝ์šฐ
ํšŸ์ˆ˜์— ์˜ํ•œ ๋ฐ˜๋ณต์ด๋ผ๋ฉด for๋ฌธ์ด while๋ฌธ ๋ณด๋‹ค ์ ํ•ฉํ•˜๋‹ค.

โ€ข while๋ฌธ์ด ์ ํ•ฉํ•œ ๊ฒฝ์šฐ
์กฐ๊ฑด์— ์˜ํ•œ ๋ฐ˜๋ณต์ด๋ผ๋ฉด while๋ฌธ์ด for๋ฌธ ๋ณด๋‹ค ์ ํ•ฉํ•˜๋‹ค.

๐Ÿ“์‹ค์Šต
๋‹ค์Œ ๋ฐ˜๋ณต ์‹คํ–‰์„ ์œ„ํ•ด์„œ for๋ฌธ๊ณผ while๋ฌธ ์ค‘ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๊ตฌ๋ฌธ์„ ์ด์šฉํ•ด์„œ
ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด ๋ณด์ž.

๋งˆ์ง€๋ง‰์— 1์„ ๋นผ๋Š” ์ด์œ  (safeRotationCount = rotationCount - 1)
: ์˜ˆ๋ฅผ ๋“ค์–ด 20.2mm ๋ผ๋ฉด while๋ฌธ์—๋Š” ๋“ค์–ด์˜ค๊ฒ ์ง€๋งŒ 0.15๋ฅผ ๋นผ๊ฒŒ ๋˜๋ฉด 20 ์ดํ•˜๋กœ ๋‚ด๋ ค๊ฐ€๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋ชจ์ˆœ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ˜น์‹œ ๋ชจ์ˆœ๋˜์–ด ์นด์šดํŒ… ๋˜๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ ํ•˜๋‚˜๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค๋Š” ์˜๋ฏธ๋กœ ๋งˆ์ง€๋ง‰์— 1์ผ ๋นผ์ค€๋‹ค.

๐Ÿคทโ€โ™€๏ธ์—๋Ÿฌ ์ด์œ 
1. ํšŒ์ „์ˆ˜(rotationCount) ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•˜์Œ
: 'ํ•œ๋ฒˆ ๊ตฌ๋ฅผ ๋•Œ๋งˆ๋‹ค' ์ด๋ฏ€๋กœ rotationCount += 1 ํ•„์š”
2. if ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๋‚˜๋ˆ„๋ ค๊ณ  ํ–ˆ์Œ.
:if 20 ์ด์ƒ์ด๋ฉด ์ •์ƒ, 20 ๋ฏธ๋งŒ์ด๋ฉด ์šดํ–‰์ค‘๋‹จ
-> ๋ณธ์งˆ์— ์ง‘์ค‘ํ•˜์ž!

๐Ÿ“๋ฌดํ•œ๋ฃจํ”„

โ€ข ๋ฌดํ•œ ๋ฐ˜๋ณต ์‹คํ–‰
๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ฌดํ•œ ๋ฃจํ”„๋ผ๊ณ  ํ•œ๋‹ค.
while๋ฌธ์—์„œ ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ True์ธ ๊ฒฝ์šฐ -> ๋ฌดํ•œํžˆ True ์ผ ๊ฒƒ์ด๋‹ค.

โ€ข ๋…ผ๋ฆฌํ˜• ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ (True, False)
์กฐ๊ฑด์‹์— ๋…ผ๋ฆฌํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฌดํ•œ ๋ฐ˜๋ณต์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
if ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค.

๐Ÿ“์‹ค์Šต
ํ•˜๋ฃจ์— ๋…๊ฐ์œผ๋กœ ๋ณ‘์›์— ๋‚ด๋ฐฉํ•˜๋Š” ํ™˜์ž ์ˆ˜๊ฐ€ 50๋ช…์—์„œ 100๋ช… ์‚ฌ์ด์ผ ๋•Œ, ๋ˆ„์  ๋…๊ฐ ํ™˜์ž ์ˆ˜๊ฐ€ ์ตœ์ดˆ 10,000๋ช…์„ ๋„˜๋Š” ๋‚ ์งœ๋ฅผ ๊ตฌํ•ด๋ณด์ž.

๐Ÿคทโ€โ™€๏ธ์—๋Ÿฌ ์ด์œ 
1. random ๋ชจ๋“ˆ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฑธ ๊ฐ„๊ณผ
2. ๋ณ€์ˆ˜ ์ •์˜ ์‹คํŒจ (sum: ๋ˆ„์ ํ™˜์ž, date: ๋‚ ์งœ, flag: ๋ฐ˜๋ณต๋ฌธ ๋ฐœ์ƒ, patientCount: ์˜ค๋Š˜ ํ™˜์ž)

์กฐ๊ฑด๋ฌธ ๊ตฌ์ƒ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด ๋ฌธ์ œ๋ฅผ ๋งŽ์ด ํ’€์–ด๋ณด๋Š” ์ˆ˜ ๋ฐ–์— ์—†๋‹คใ…œ

๐Ÿ“๋ฐ˜๋ณต๋ฌธ ์ œ์–ด(continue)

โ€ข continue ํ‚ค์›Œ๋“œ
๋ฐ˜๋ณต ์‹คํ–‰ ์ค‘ continue๋ฅผ ๋งŒ๋‚˜๋ฉด ์‹คํ–‰์„ ์ƒ๋žตํ•˜๊ณ , ๋‹ค์Œ ๋ฐ˜๋ณต ์‹คํ–‰๋ฌธ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค

for i range(100): 
           if % 7 != 0:
           continue -> ๋ฐ˜๋ณต ์‹คํ–‰ ์ƒ๋žต    

โ€ข else ํ‚ค์›Œ๋“œ
else์˜ ์‹คํ–‰๋ฌธ์€ ๋ฐ˜๋ณต๋ฌธ์ด ์ข…๋ฃŒ๋œ ํ›„ ์‹คํ–‰๋œ๋‹ค

for i range(100): 
           if % 7 != 0:
           continue

           print(~)
          
      else: 
      print(~) -> ์œ„์˜ for ๋ฐ˜๋ณต๋ฌธ์ด ๋‹ค ๋๋‚˜๊ณ  ์‹คํ–‰ ์‹œ์ž‘

๐Ÿ“์‹ค์Šต
1๋ถ€ํ„ฐ 100๊นŒ์ง€์˜ ์ •์ˆ˜ ์ค‘ 3๊ณผ 7์˜ ๊ณต๋ฐฐ์ˆ˜์™€ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜์ž.

๐Ÿ“๋ฐ˜๋ณต๋ฌธ ์ œ์–ด(break)

โ€ข break ํ‚ค์›Œ๋“œ
๋ฐ˜๋ณต ์‹คํ–‰ ์ค‘ break๋ฅผ ๋งŒ๋‚˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค.

for i in range(100):
    sum += 1

   if sum > 100:
   searchNum = i
   break              -> ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ

๐Ÿ“์‹ค์Šต โ‘ 
10์˜ ํŒฉํ† ๋ฆฌ์–ผ(10!)์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒฐ๊ณผ๊ฐ’์ด 50์„ ๋„˜์„ ๋•Œ์˜ ์ˆซ์ž๋ฅผ ๊ตฌํ•˜์ž.

๐Ÿ“์‹ค์Šต โ‘ก
์ƒˆ๋ผ ๊ฐ•์•„์ง€ ์ฒด์ค‘์ด 2.2kg๊ฐ€ ๋„˜์œผ๋ฉด ์ด์œ ์‹์„ ์ค‘๋‹จํ•˜๋ ค๊ณ  ํ•œ๋‹ค.
ํ•œ๋ฒˆ ์ด์œ ์‹์„ ๋จน์„ ๋•Œ ์ฒด์ค‘์ด 70g ์ฆ๊ฐ€ํ•œ๋‹ค๊ณ  ํ•  ๋•Œ,
์˜ˆ์ƒ๋˜๋Š” ์ด์œ ์‹ ๋‚ ์งœ๋ฅผ ๊ตฌํ•˜์ž. (ํ˜„์žฌ ์ฒด์ค‘์€ 800g์ด๋‹ค.)

๐Ÿ“์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ

๋ฐ˜๋ณต๋ฌธ์•ˆ์— ๋˜ ๋‹ค๋ฅธ ๋ฐ˜๋ณต๋ฌธ์„ ์„ ์–ธํ•œ๋‹ค.

๐Ÿ“์‹ค์Šต โ‘ 
์•„๋ž˜์˜ ๋ชจ์–‘์ด ์ถœ๋ ฅ๋˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ž.

end = ' ' ์ž๋™ ๊ฐœํ–‰ ์ข…๋ฃŒ
ex) print('*', end=' ')
=> ๋ณ„ํ‘œ๋ฅผ ์ฐ๋Š” ๋™์•ˆ ๊ฐœํ–‰(=์ค„๋ฐ”๊ฟˆ)ํ•˜์ง€ ์•Š๋Š”๋‹ค

๐Ÿ“์‹ค์Šต โ‘ก
๊ตฌ๊ตฌ๋‹จ ์ „์ฒด๋ฅผ ์ถœ๋ ฅํ•˜์ž.

๐Ÿคทโ€โ™€๏ธ์—๋Ÿฌ ์ด์œ 
๋งˆ์ง€๋ง‰ ์‹คํ–‰๋ฌธ ์œ„์น˜ ์กฐ์‹ฌ!
->print()๋ฅผ for๋ฌธ๊ณผ ๊ฐ™์€ ์ค„์— ๋‘ฌ์•ผํ•˜๋Š”๋ฐ ์ง€์—ญ๋ณ€์ˆ˜ ์นธ์— ๋‘ฌ๋ฒ„๋ ค์„œ ๊ฒฐ๊ณผ๊ฐ’์ด ์˜†์œผ๋กœ ์•ˆ ํผ์ง€๊ณ  ์•„๋ž˜๋กœ ํผ์กŒ์Œ.

profile
๋ฌธ๊ณผ์ถœ์‹ ์˜ ๋ฐ์ดํ„ฐ ๋„์ „๊ธฐ

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