본문 바로가기

Coding Series/[완결] Python 입문자용

Python 입문자용 [5] - 입력받은 수만큼 for문을 통한 연속된 숫자 출력

728x90
반응형

Python 입문자 강의를 보기 위해 찾아왔지만, 이 글을 처음 보는 것이라면 첫 글부터 보고 오는 것을 추천한다. 입문자로 처음 시작하는 것인데 첫 글이 아닌 이 글부터 본다면 이해하기 벅찰 수 있다. 첫 글부터 보기를 매우 추천한다. 첫 글부터 보면서 차근차근 따라오기(클릭)

오늘은 Python의 for문 기초를 알아볼 것이다.

오늘도 Python 코딩을 할 수 있는 코드 편집기를 열어두고 시작하자. 저번 글에서 본 온라인 컴파일러(클릭)

for문은 반복문이다. 코드를 반복해준다는 것인데, 오늘도 역시 코드를 살펴보며 설명하겠다.

 

파이썬은 다른 언어(C, JS 등)와는 다르게 for(int i = 0; i < n; i++)과 같이 사용하지 않는다.

 

아래 C언어로 작성된 코드를 보자.

 

#include <stdio.h>

int main(){
    for(int i = 0; i < 10; i++){
        printf("%d", i);
    }
    return 0;
}

 

C언어로 작성된 코드를 먼저 분석해보자.

 

뭐 #include~int main() 까지는 C언어의 기본적인 문법이니 넘기고 for문만 설명하겠다.

 

for문 조건식을 보면 for(i를 0으로 초기화하며 선언하고; i가 10보다 작을 동안; i를 하나씩 증가시키며 반복)이다.

 

그러므로 출력을 하게 되면 0123456789로 조건식에 맞는 0~9까지 출력이 되게 된다.

 

자, 이제 파이썬으로 작성된 코드를 보자.

 

for i in range(10):
    print(i)

 

이렇게 간단하다.

 

위의 C언어 설명처럼 조건식을 설명하겠다.

 

for i라는 변수 선언 in 10의 범위이다.

 

잘 이해가 되지 않을 것이다.

 

출력을 보게 되면, C언어의 결과와 동일하게 0123456789로, 0~9까지 출력된다.

 

위의 코드가 이해하기 어려운 이유가 있다.

 

range에서 무언가가 생략되어 있기 때문이다.

 

그 생략된 조건을 바로 아래에서 보여주겠다. 그러면 위의 코드가 이해가 될 것이다.

 

for i in range(0, 10):
    print(i)

 

자, 이제 이해가 되는가?

 

range 함수는 range(숫자의 시작, 숫자의 마지막 + 1)이다.

 

위에서 range 함수에서 무언가를 생략했다 했는데, 그것은 "숫자의 시작" 부분이다.

 

range 함수는 "숫자의 시작" 부분을 생략하더라도, 자동으로 "숫자의 시작"을 0이라 생각하여 작동시킨다.

 

그러므로 아까의 코드와 위의 코드는 동일한 의미의 코드라 할 수 있다.

 

그러면 오늘 해야하는 "입력받은 수만큼 for문을 통한 연속된 숫자 출력"은 어떻게 하는 것일까?

 

세번째 시간때 배운 입/출력과 오늘 배운 for문을 잘 섞어 활용하면 된다.

 

아! 그리고 range 안에 사용하려면 입력을 정수형으로 받아야 하는데, 그 방법은 num = int(input()) 이다.

 

여기에서 잠깐 멈추고 아래 코드를 보지 말고 직접 코드를 한번 짜보기 바란다.

 

num = int(input())
for i in range(num):
    print(i)

 

여태까지의 내용을 잘 따라왔다면, 위의 코드가 단번에 이해될 것이다.

 

num 변수에 정수형으로 input을 받고, for문의 range 함수 안에 입력받은 값이 들어있는 num 변수를 넣어, 0~입력한 숫자 - 1까지 출력되게 했다.

 

그러면 입력한 수만큼의 개수인 연속된 숫자들이 출력될 것이다.

 

오늘도 그리 어려운 내용은 아니었다.


다음 글에서 더 재미있는 구구단으로 만나자. 다음 글에서 보자.

728x90
반응형