[파이썬 알고리즘 6강] 백준 단계별로 풀어보기 3.1 < for문 1>
안녕하세요
스터디에서 같이 공부한 내용을 정리하고자 글을 쓰게 되었습니다~
도움되셨으면 좋겠네요!
본 글에 나와있는 코드들을 직접 쳐보고 실행시키면서
여러가지로 꼬아가며 다양한 실험을 반복하시면
어느새 파이썬이 익숙하고 재밌으실 겁니다~! 화이팅!
참고로 중간 중간 걸려있는 링크들은 글을 읽으시면서 모르는 함수, 문법 등이 나왔을 때 들어가셔서
글에 나온 정도만 이해하실 수 있으면 됩니다. (꼼꼼하게 보실 필요 없어요!)
1. 파이썬 반복문 - for문 (기초)
(1) range 함수의 이용
① range 란?
python에서 range 함수는 말그대로 "범위를 지정하는 함수"라고 생각하시면 될 것 같습니다.
보통 위의 그림과 같이 range('시작', '끝', '간격')의 문법 사용하는데요. 이때 중요한 2가지는
첫번 째, '시작'과 '간격'의 경우 생략할 수 있으며 생략시 자동적으로 각각 0, 1로 인식된다.
두번 째, '끝'의 경우 해당 숫자는 포함하지 않는다. (미만)
이 점에 유의하여 range함수의 사용 예시를 보시죠.
위의 예시의 경우 숫자 range에 인자가 1개만 들어가는 경우 입니다.
이때 값은 "끝"으로 인식되며 위 예시인 range(10)의 경우 0이상 10미만 (간격은 1) 로 인식이 되는 것이죠.
따라서 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 의 값을 차례대로 반환하게 됩니다..!
위의 예시의 경우 숫자 range에 인자가 2개만 들어가는 경우 입니다.
이때 값은 "시작"과 "끝"으로 인식되며 위 예시인 range(2, 10)의 경우 2이상 10미만 (간격은 1) 로 인식이 되는 것이죠.
따라서 2, 3, 4, 5, 6, 7, 8, 9 의 값을 차례대로 반환하게 됩니다..!
위의 예시의 경우 숫자 range에 인자가 3개 모두 들어가는 경우 입니다.
이때 값은 "시작"과 "끝", "간격"으로 인식되며 위 예시인 range(1, 10, 2)의 경우 1이상 10미만 (간격은 2) 로 인식 됩니다.
따라서 1, 3, 5, 7, 9 의 값을 차례대로 반환하게 됩니다..!
이제 이러한 range를 활용해서 for문에 적용 시켜 보겠습니다.
② range의 for문 활용
# 예제 1 / 인자가 1개만 들어간 range를 이용한 for문의 활용
for i in range(10) :
print(i, end = ' ')
# 예제 2 / 인자가 2개만 들어간 range를 이용한 for문의 활용
for i in range(2, 10) :
print(i, end = ' ')
# 예제 3 / 인자가 3개 모두 들어간 range를 이용한 for문의 활용
for i in range(1, 10, 2) :
print(i, end = ' ')
range 함수의 사용법만 알고 계셔도 이를 for문에 적용시키시는 건 그리 어렵지 않습니다.
따라서, 위의 예시를 따라 써보시면서 "시작", "끝", "간격" 값에 변화를 주시면 금방 익숙해지실 겁니다!
이제 이러한 for - range 문법을 리스트의 인덱스 관점에서 적용시켜보겠습니다~
③ for문을 이용한 리스트의 인덱스 접근
예를 들어, 다음과 같은 리스트를 생각해보겠습니다. (리스트 기초 : https://wikidocs.net/14)
이때, 리스트의 인덱스 번호는 "0부터 시작하므로" 다음과 같은 인덱스를 가지게 됩니다.
그렇다면, 앞서 배운 for - range 문법을 이용하여 리스트의 인덱스에 어떻게 접근할 수 있을까요?
인덱스가 0~9로 이루어져 있으므로 시작은 0 / 끝은 10 (미만이므로) 으로 range 함수를 쓰시면 됩니다!
즉, 아래와 같은 코드를 짜게 되면 리스트의 모든 인덱스에 접근할 수 있습니다.
Lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 리스트 선언
for i in range(10) : # i : 0~9
print(Lst[i], end = ' ') # Lst[i]
마지막으로 다음 문제를 직접 해결해 보시면 for문에서 range를 활용하는 데는 어려움이 없으실 겁니다.
문제 : "위의 리스트(1~10) 값 중 짝수값만을 출력하는 for - range 문을 작성하시오."
천천히 고민해 보시면 좋을 것 같습니다. (HINT : range함수의 간격)
정답은 아래에 올려 놓겠습니다~
Lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 리스트 선언
for i in range(1, 10, 2) : # i : 1 부터 10 미만의 수를 간격 2로 !
print(Lst[i], end = ' ') # Lst[i]
다음 시간에는 for문 - List 이용 방법을 알아보겠습니다
'밤샘코딩 > 백준 단계별로 풀어보기 (이론)' 카테고리의 다른 글
[파이썬 알고리즘 8강] 백준 단계별로 풀어보기 3.3 < while문 > (0) | 2022.11.15 |
---|---|
[파이썬 알고리즘 7강] 백준 단계별로 풀어보기 3.2 < for문 2> (0) | 2022.11.15 |
[파이썬 알고리즘 5강] 백준 단계별로 풀어보기 2.2 < 조건문 2> (0) | 2022.11.15 |
[파이썬 알고리즘 4강] 백준 단계별로 풀어보기 2.1 < 조건문 1> (0) | 2022.11.15 |
[파이썬 알고리즘 3강] 백준 단계별로 풀어보기 1.3 < 연산자 > (1) | 2022.11.14 |
댓글
이 글 공유하기
다른 글
-
[파이썬 알고리즘 8강] 백준 단계별로 풀어보기 3.3 < while문 >
[파이썬 알고리즘 8강] 백준 단계별로 풀어보기 3.3 < while문 >
2022.11.15 -
[파이썬 알고리즘 7강] 백준 단계별로 풀어보기 3.2 < for문 2>
[파이썬 알고리즘 7강] 백준 단계별로 풀어보기 3.2 < for문 2>
2022.11.15 -
[파이썬 알고리즘 5강] 백준 단계별로 풀어보기 2.2 < 조건문 2>
[파이썬 알고리즘 5강] 백준 단계별로 풀어보기 2.2 < 조건문 2>
2022.11.15 -
[파이썬 알고리즘 4강] 백준 단계별로 풀어보기 2.1 < 조건문 1>
[파이썬 알고리즘 4강] 백준 단계별로 풀어보기 2.1 < 조건문 1>
2022.11.15