5. 제어문(if, for, while, break, continue)

 

컴퓨터를 사용하는 이유 중 하나가 제어문과 함수라고 생각이 되는데요바로 반복작업을 모아놓고 수행하는 것 입니다.

제어문을 테스트 하려면 콘솔에서 한 라인씩 실행 할 수 가 없으므로 프로그램을 파일로 저장하고 실행 해야 합니다파일의 확장자를 프로그램명.py”로 하여 저장하고 파일이 저장된 위치 또는 절대 위치로 잡고 “python 프로그램명.py”를 입력하여 테스트 합니다.

 

5.1 if 조건문

 

주어진 조건을 만족 하는 경우에만 조건에 해당하는 블록을 실행 합니다조건의 종료는 콜론을 사용하고 문장 블록은 들여쓰기로 구분 하며 들여쓰기가 중단되는 문장 까지는 모두 실행 합니다.


5.1.1 조건이 1개인 경우


if 하나만 사용합니다.

if 조건문:

   실행할 문장

   실행할 문장

...

파일명 : if001.py

#-*- coding: euc-kr -*-

 

i = 1

if i == 1:

           i = 3

print('최종 i 값은 얼마 인가요? ', i )

실행

(base) F:\Python>python if001.py

최종 i 값은 얼마 인가요?  3

 

python study



5.1.2 조건 1개와 반대가 있는 경우


ifelse를 사용 합니다.

 

if 조건문:

   실행할 문장

   실행할 문장

       ...

else:

실행할 문장

   실행할 문장

       ...

파일명 : if002.py

#-*- coding: euc-kr -*-

 

score = 90

if score >= 90:

           ans = '참 잘 했어요!'

else:

           ans = '좀더 노력 해봐요!'

print('뭐라 하던가요? ', ans)

실행

(base) F:\Python>python if002.py

뭐라 하던가요참 잘 했어요!

 

5.1.3 조건이 여러 개인 경우

if ~ elif ~ elif ~ ... ~ else ~ 와 같이 elif를 반복 사용 합니다.

if 조건문:

   실행할 문장

   실행할 문장

       ...

elif 조건문:

   실행할 문장

   실행할 문장

       ...

elif 조건문:

   실행할 문장

   실행할 문장

       ...

else:

실행할 문장

   실행할 문장

       ...

파일명 : if003.py

#-*- coding: euc-kr -*-

 

score = 505

 

if 700 < score <=990 :

           ans = '원어민과 대화를 통해 심화학습을 추천 합니다.'

elif 500 < score <=700 :

           ans = '문장을 읽는 속도를 빨리해 보세요!'

elif 400 < score <= 500:

           ans = '영어 단어가 부족합니다. 단어공부가 필요합니다.'

else:

           ans = '자신감을 가지고 다시 도전하세요.'

 

print(ans)

실행

(base) F:\Python>python if003.py

문장을 읽는 속도를 빨리해 보세요!

 

 

5.2 for 루프


반복 횟수와 방법을 설정하고 정해진 작업을 반복 수행 하며 아래와 같은 구조 입니다..

for 변수 in 리스트(튜플, 문자열, range):

           명령 문장1

           명령 문장2

           ...

 

5.2.1 리스트

 

리스트의 요소 값을 이용하여 갯수 만큼 반복 하는 경우

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

sm = 0

for i in a:

           sm = sm + i

print(sm)

결과

(base) F:\Python>python for011.py

55

 

문자 리스트도 for문으로 사용할 수 있습니다. 리스트에 리스트가 있는 경우로 해볼까요?

a = ['a', 'b', ['c', 'd'], 'dd', 'eee']

 

for txt in a:

           print(txt)

결과

(base) F:\Python>python for012.py

a

b

['c', 'd']

dd

eee

 

 

 

5.2.2 튜플

 

튜플의 요소 값을 이용하여 리스트와 같은 방식으로 갯수 만큼 반복 수행할 수 있습니다.

a = ('a', 'b', ('c', 'd'), 'dd', 'eee')

 

for txt in a:

           print(txt)

결과

(base) F:\Python>python for021.py

a

b

('c', 'd')

dd

eee

 

튜플을 이용하여 좀더 다른 형태로 for문을 실행할 수 있습니다.

a = ((1, 2), (3, 4), (5, 6))

 

for i, j in a:

           sm = i + j

           print(sm)

결과

(base) F:\Python>python for022.py

3

7

11

 

 

5.2.3 range

 

range(start, stop[, step])를 이용하면 다른 언어에서 for문을 사용하는 방식으로 사용이 가능 합니다.

sm = 0

for i in range(1,11):

           sm += i

print(sm)

결과

(base) F:\Python>python for031.py

55

 

 

5.3 while

 

조건 문이 참일 동안 블록을 반복적으로 실행합니다조건문은 변경이 안되기 떄문에 블록 내에서 조건문을 거짓으로 만들 수 있도록 하거나 break로 종료 시킬 수 있습니다.

bloop = True

i = 0

sm = 0

 

while bloop:

           i += 1

           sm += i

           if i == 10:

                     bloop = False

print(sm)

결과

(base) F:\Python>python while011.py

55

 

 

5.4 break

 

for while 같은 반복문을 중간에 중지 시키는 기능을 하며 break 이후의 명령 문장은 실행되지 않고 바로 블록을 벗어 나기 때문에 위치를 잘 선정해서 사용합니다.

 

bloop = True

i = 0

sm = 0

 

while bloop:

           i += 1

           sm += i

           if i == 11:

                     break;

           print(sm)

결과

(base) F:\Python>python break011.py

1

3

6

10

15

21

28

36

45

55

 

 

5.5 continue

 

반복 문장 블록에 사용되며 continue 명령에 도달하면 이후의 명령 문장은 실행 되지 않고 바로 명령 블록의 처음 문장으로 이동해서 반복 문장 블록을 실행 합니다.

조건에 맞지 않는 값은 처리하지 않거나 조건에 맞을 때까지 기다릴 때 사용합니다.

 

bloop = True

i = 0

sm = 0

 

while bloop:

           i += 1

           sm += i

           if i < 10:

                     continue;

           print(sm)

           bloop = False

결과

(base) F:\Python>python continue011.py

55


- copy coding -


+ Recent posts