2021. 5. 26. 20:54ㆍ프로그래밍/Python
반복문인 for문에 대해서 알아보겠습니다😀
반복문이란?
특정 코드를 반복하기 위해 쓰이는 기능인데요.
어떤 경우에 활용될 수 있을까요?
예를 들어 2000부터 2021까지 연도를 출력하기 위해 print만 사용하면
1
2
3
4
5
6
7
|
print("2000")
print("2001")
print("2002")
...
...
...
print("2021")
|
cs |
위와 같을 겁니다.
지금이야 범위가 넓지 않지만 만약 1 ~ 2021까지 출력한다면 위와 같이 일일이 수작업으로 코드를 쓰기에는 무리가 있겠죠?
이럴 때 활용할 수 있는 것이 반복문, for문입니다.
사용법
for문의 기본적인 사용법을 알아볼 텐데요.
1
2
3
4
5
6
7
8
9
10
|
for 변수명 in range(반복할 횟수) :
반복할 코드
for i in range( 3 ) :
print("hello world!")
# 결과값
# hello world!
# hello world!
# hello world!
|
cs |
for 뒤에 변수의 이름을, in range() 의 괄호 안에 반복할 횟수를 지정합니다.
다음 줄에는 위에서 지정한 만큼 반복할 코드를 입력합니다.
위의 소스를 풀이해 보면
변수의 이름을 i 로 정하고
반복할 횟수를 3 으로 정하고
반복할 코드는 출력하는 코드인 print를 활용해 hello world! 를 출력하도록 했습니다.
그 결과,
hello world! 가 3번 출력되는 걸 확인할 수 있습니다.
여기서 유의할 점은 첫 번째 줄의 코드보다 두 번째 코드가 안 쪽에 위치하는 걸 볼 수 있는데요. 위와 같이 써 줘야 첫 번째 코드에 두 번째 코드가 속해 있다는 것으로 인식하기 때문에 들여쓰기를 해 줘야 합니다.
위에서 예시를 들었던 2000부터 2021까지 숫자를 출력한다면 어떻게 해야 할까요?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
for 변수명 in range(변수에 처음 입력될 값, 변수에 입력되는 순간 반복을 멈출 값) :
반복할 코드
for i in range( 2000, 2022 ) :
print( i )
# 결과값
# 2000
# 2001
# 2002
# ...
# ...
# ...
# 2021
|
cs |
for 뒤에 변수의 이름을, in range() 의 괄호 안에 변수에 처음 입력될 값, 변수에 입력되는 순간 반복을 멈출 값을 지정합니다.
다음 줄에는 반복할 코드를 입력합니다.
위의 소스를 풀이해 보면
변수의 이름을 i 로 정하고
변수에 처음 입력될 값을 2000 으로 정하고
변수에 입력되는 순간 반복을 멈출 값을 2022 로 정하고
반복할 코드는 print를 활용해 i 를 출력하도록 했습니다.
그 결과,
i 에 먼저 2000 이 입력되어 print(2000) 이 실행되고
다음 값이 i의 값이 1이 늘어 2001이 입력돼 print(2001) 이 실행됩니다.
위와 같이 반복을 하다 반복을 멈출 값인 2022에 도달하게 되면 print(2022) 은 실행되지 않고 반복을 멈춥니다. 그렇기 때문에 2000 ~ 2021 을 출력할 때 반복을 멈출 값으로 2021 이 아닌 2022 로 지정해줘야 합니다.
숫자가 아닌 여러 개의 문자를 출력할 땐 어떻게 할까요?
1 2 3 4 5 6 7 8 9 10 | for 변수명 in [변수값1, 변수값2, 변수값3...] : 반복할 코드 for i in ["hello", "would", "!"] : print(i) # 결과값 # hello # world # ! | cs |
마찬가지로 for 뒤에서 변수의 이름을 정하지만 in 뒤에 range 가 사라지고 소괄호( ) 대신 대괄호[ ] 를 사용합니다.
문자를 출력할 땐 따옴표('') 나 쌍따옴표("") 로 묶어줘야 합니다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] sum함수로 1부터 입력한 값까지 더하여 출력하기 (0) | 2021.05.28 |
---|---|
[Pyrhon] for문으로 입력한 숫자만큼 출력하기 (0) | 2021.05.26 |
[Python] Python 설치법 (0) | 2021.05.25 |