2022. 3. 11. 20:22ㆍ파이썬
저희는 이전에 if조건문과 비슷한 while 반복문에 대해 배웠습니다.
이름대로 반복을 하는 명령인데 파이썬에서 많이 사용되는 반복문에는 for 문과 while 문이 있습니다.
두 명령의 차이를 간단하게 정리하면 for문은 반복횟수를 지정할 수 있는 경우에 주로 사용하고,
while 문은 주어진 조건이 참일 동안은 계속 반복되어야 할 경우에 주로 사용됩니다.
예를 들어서 반복횟수가 정해져서 10번 또는 200번 반복하고 싶다면 for 문을 쓰는 것이 편하고,
사용자가 yes를 입력하거나 어떤 조건인동안 계속 반복하고 싶을 경우는 while 문을 사용하는 것이 좋다는 뜻입니다.
반복문은 모든 언어에서 다 다루기때문에 잘 배워두셔야 합니다!!
각 언어마다 사용 문법은 조금씩 다르지만 저희는 지금 파이썬을 배우고 있기때문에
먼저 파이썬의 for문 문법부터 알아보도록 하겠습니다.
for 변수 in 반복횟수 :
반복 실행할 문장1
반복 실행할 문장2
문법은 위와 같으며, 반복횟수에 들어갈 수 있는 것에는 리스트, 튜플, 문자열이 있습니다.
for i in [2, 1, 5] :
print(i)
이런식으로 리스트를 넣어도 되지만 10개, 50개를 넘어가게 되면 리스트를 만드는게 너무 힘들기때문에
range()함수를 사용하면 지정 범위의 리스트를 쉽게 만들 수 있습니다.
range()함수의 문법은 range(시작숫자, 종료숫자, 증감스텝) 입니다.
숫자가 하나만 작성되었다면 종료숫자이고, 두개 작성되면 시작숫자, 종료숫자
세개 작성되면 시작숫자, 종료숫자, 증감스텝이 되는것입니다.
이때 알아두셔야 할 부분은 종료숫자는 본인의 숫자보다 하나 이전까지만 만들어준다는것입니다.
그렇기에 만들어지는 마지막숫자는 종료숫자-1이라고 생각하시면 좋을것같습니다.
또한 시작숫자와 증감스텝을 작성하지 않을 경우 기본적인 디폴트값이 있는데 시작숫자는 0, 증감스텝은 1입니다.
예시를 보여드리면 다음과 같습니다.
for i in range(1,6):
print(i)
이렇게 우리는 인덱스번호와 데이터를 자유롭게 다룰수있지만,
인덱스(index)와 원소를 동시에 접근하면서 루프를 돌릴 수는 없을까 생각을 한거죠!!
이럴때 사용되는 함수가 있습니다. enumerate()함수입니다.
enumerate함수의 문법은 enumerate(반복횟수에 들어갈 수 있는 것) 입니다.
for문 in 뒤에오는 반복횟수를 그대로 함수로 묶어주시면 되는거에요!!
for i in enumerate([20,30,40]):
print(i)
이렇게해서 출력을 해보면 튜플로 인덱스번호와 원소들이 짝을 짓어 나오게 됩니다.
(0, 20)
(1, 30)
(2, 40)
하지만, 우리는 인덱스번호와 원소들이 각각의 변수들로 저장이 되었으면 좋겠는거죠!!
그럴땐 하나의 변수를 더 작성해주시면 됩니다. 그럼 앞에있는 변수에는 인덱스번호가
뒤에있는 변수에는 원소값이 들어가게됩니다. 각각의 값으로 사용이 가능해지는거죠~~
for i, j in enumerate([20,30,40]):
print(i, j)
근데 인덱스번호가 항상 0부터 시작되지만 우리는 1부터라든지 100부터라든지 인덱스번호
시작숫자가 바뀌었으면 좋겠는거죠.
그럴땐 enumerate(반복횟수에 들어갈 수 있는것, start=인덱스번호시작숫자)
이런식으로 시작인덱스를 변경해주시면 됩니다.
'파이썬' 카테고리의 다른 글
파이썬 - HTML 기본 (0) | 2022.03.31 |
---|---|
파이썬 요점 정리 - 리스트 2 (0) | 2022.03.09 |
파이썬 요점 정리 - input 입력 함수 (0) | 2022.03.09 |
파이썬 요점 정리 - 클래스 (0) | 2022.03.05 |
파이썬 요점 정리 - 딕셔너리 (0) | 2022.02.12 |