에르노트

파이썬 순차, 분기, 반복(sequence, branch, loop) 본문

Dev/Python

파이썬 순차, 분기, 반복(sequence, branch, loop)

두콩 2018. 4. 13. 21:43

파이썬 순차, 분기, 반복

코드를 작성할 때 고려해야할, 실행의 3요소는 바로 순차, 분기, 그리고 반복이다. 실행을 구성하는 가장 중요한 한가지 요소를 고르라고 한다면 아마 '순차' 일 것이다. 왜냐하면 파이썬에서 기본적으로 모든 문장들은 '순차대로, 즉 적어놓은 순서대로' 실행되기 때문이다. 할당문을 먼저 적고 print문을 적는다면 먼저 변수에 값을 담아둔 다음 출력을 실행한다는 것이다. 순차 개념이 깨진다면, 코드의 유기성이 무너지는 것이고, 이렇게되면 프로그램이 정상적으로 작동하지 않을 가능성이 매우 높아진다. 다만 우리가 코드를 적을 때도 무의식적으로라도 순차적으로 적기 때문에 따로 굳이 신경쓰거나 주의해야할 요소는 아니다.

 

 

그런 의미에서 '분기''반복'이 나름의 의미를 갖는다. 우선 분기는 어떤 문장들을 실행할 수도, 안할수도 있게 한다. 분기에서는 가장 전형적인 것이 바로 조건분기이다. 특정 조건을 충족하면 실행, 그렇지 않으면 실행하지 않으면 되기에, 직관적으로 받아들일 수 있고, 쓰기도 쉽다. if문에서는 조건식을 먼저 계산하고, 조건식을 계산한 값이 True 혹은 그에 준하는 값인 경우 그에 상응하는 결과값을 return한다.

 

분기에 if문이 있다면 반복에는 while문이 있다. if문과 while문의 기능은 서로 다르지만 그 형태는 매우 유사하다. while문에서는 조건식 자리에 특정 수식을 넣음으로써 그 조건을 충족할 때까지 내용물을 반복 실행한다. 내용물에는 조건에 근접하도록 만드는 코드를 포함하여(i += 1 등) 원하는만큼 반복시킨 후 반복을 종료할 수 있다.

 

 

이를테면, *을 이용해 삼각형을 그리는 프로그램을 while문을 이용하여 다음과 같이 구성할 수 있다.

 

n = 0
i = input('삼각형의 너비를 입력하세요>')
i = int(i)
while n < i:
    n+= 1
    print(' ' * (i-n) + '*' * (2 * n - 1))

 

 

여기서 변수는 i이고, raw_input을 통해 사용자의 키보드로부터 입력받은 값을 넣게된다. 만약 7을 넣는다면 다음과 같은 결과가 나올 것이다.

 

      *

     ***

    *****

   *******

  *********

 ***********

*************

 


21.05.09 수정

 

18년도에 작성된 글이라 파이썬2를 기준으로 설명하고 있다. 예시코드는 파이썬3 기준으로 수정하였다.

 

'Dev > Python' 카테고리의 다른 글

파이썬 연산자 우선순위  (0) 2018.04.24
파이썬 시퀀스 & for문  (0) 2018.04.13
파이썬 기본 타입 (타입의 변환)  (0) 2018.04.12
Data와 Code (변수, 수식, 함수)  (0) 2018.04.12
Comments