본문 바로가기
카테고리 없음

파이썬 - 반복문 만들기1

by 도전꾼 2022. 3. 23.
반응형

파이썬을 하다보면 다양한 함수를 사용해서 원하는 결과값을 얻을 수가 있습니다. 그 중에서 반복문은 입문자들에게는 어렵지만 그냥 넘어가서는 안되는 중요한 구문 중에 하나라고 하는데요, 왜 필요하고 어떤 식으로 사용되는지 한번 같이 공부해보도록 하겠습니다.

 

목차

 

 

반복문이 필요한 이유

 우리는 왜 반복문을 사용해야 하는 것일까요? 프로그래밍 언어로 생각하지 말고, 하나의 일상생활에서 생각해보도록 하겠습니다. 아침에 출근하기 위해 옷을 선택해야 한다는 의사결정에 맞닥뜨려졌을 때, 우리의 머리속에서는 알게 모르게 반복이라는 과정을 거치고 있습니다. 더 상세하게 얘기하자면, 머리속으로 A라는 옷을 입었을 때의 모습하고, B라는 옷을 입었을 때 모습을 반복적으로 생각하고 있는 거죠. 그렇게 여러번 머릿속에서 생각을 하다가 마침내 하나의 결론에 다다르게 되는 겁니다. 이렇듯 사람의 머릿속에서 이루어지는 반복적인 사고의 형태를 프로그래밍 언어로 표현할 수가 있습니다. 

 컴퓨터 프로그래밍은 한꺼번에 많은 프로세스를 동시에 진행할 수 없기에 한가지 프로세스를 계속 어러번 반복해야 됩니다. 뿐만 아니라 읽을 수 있는 언어도 0,1 (true, false)이기에 true, false로 대답할 수 있는 반복문을 만들어서 실행시켜야 합니다.

 

 

알고리즘 이용해서 반복문 이해하기

위에 상황을 알고리즘으로 표현해봤습니다. 여기서 반복문에 해당하는 것은 저 마름모꼴로 되어 있는 부분에서 Yes, No라는 작업이 이루어 지는 부분인데요, 컴퓨터는 저 질문에 의해 Yes를 True로 인식하고, No를 False로 인식하여 다음 단계로 넘어가게 됩니다.

 

 

while 반복문

 반복문 중에서 while 함수를 이용해서 반복문을 만드는 방법이 있습니다. 

먼저, 형태를 보면

while 조건식 :

    반복처리할 코드1

    반복처리할 코드2~

while 옆에 있는 조건식이 맞다면 코드 1,2 처리해주세요라는 문구입니다. 변수를 지정하고 그에 맞는 값이 반복적으로 수행하게 됩니다.

a = 1                       → a라는 변수에 1을 정의한 후

while a < 5 :              → a가 5미만인가요? 라는 조건식에 true인지 false인지 묻고 있습니다.

    print(str(a)+"?")       → 만약 조건식이 true라면 변수(a)를 문자로 변환시킨 후(str) 그 뒤에 문자 "?"를 붙여라

    a +=1                   → 변수 a 출력한 이후에 그 출력값에 다시 1을 더하고 반복하게끔 진행해라. 

[결과값]

1?                            → 1이라는 변수를 넣었더니 5 미만이므로(a<5, true) 출력합니다.

2?                            → 2이라는 변수를 넣었더니 5 미만이므로(a<5, true) 출력합니다.

3?                            → 3이라는 변수를 넣었더니 5 미만이므로(a<5, true) 출력합니다.

4?                            → 4이라는 변수를 넣었더니 5 미만이므로(a<5, true) 출력합니다.

                               → 5라는 변수를 넣었더니 5미만이 아니므로(a<5, false) 출력을 하지 않습니다.

 

이렇게 처리가 되게 됩니다. 어려워 보이지만... 처음에 하면 실제로 어렵다고 느껴집니다;;;

여기서 주의할 것과 알아야 할 것이 몇가지 있습니다. 

 먼저, print라는 함수에 대해 알아보겠습니다. print는 출력을 담당하고 있는 함수로 코딩을 배우면 맨 처음에 보는 함수입니다. 쉽게 이 안에 어떤 값을 넣으면 화면에 뜨게 할 수 있는 함수입니다. 코딩 책 첫번째로 배우는 구문이 print("hello, world")인거처럼 앞으로 계속 보게 될 것이고, 익숙해져야 하는 함수입니다.

 두번째, while 뒤에 ':' 찍는 거 잊지 마시길 바랍니다. 제가 처음에 겪었던 실수인데, 조건문 작성해놓고 그냥 실행을 하면 오류가 뜹니다. "invalid syntax" 잘못된 구문이라는 문구가 뜨면서 빨간 줄이 쫙 표시되게 됩니다. 주의해서 : 찍어주시길 바랍니다.

 세번째, 반복처리할 코드들은 꼭 띄어서 작성을 해야 합니다. while문을 다 작성하고 : 다음에 엔터를 치게 되면 자동적으로 들여쓰기가 되는 것을 알 수 있는데, 꼭 들여써야 합니다. 그래야 컴퓨터가 while문 안에서 반복해야 되는 구문이라고 인식을 하고 진행을 하게 됩니다.  그럼 만약에 들여쓰지 않고 그대로 출력하게 된다면 어떤 출력물이 나올까요?

친절하게 "expected an indented block"이라고 "들여쓰기 블록 예상" 지적을 해주네요.

 

이렇게 while문에 대해서 알아보았고, 다음은 for문에 대해 같이 공부해보도록 하겠습니다.

 

파이썬 반복문1

반응형

댓글