1번째 줄: |
1번째 줄: |
| [[분류:기초]] | | [[분류:기초]] |
| + | |
| + | <youtube>https://www.youtube.com/watch?v=kuBzbnUUaOI</youtube> |
| + | |
| + | ==개요== |
| + | 명령을 일정 횟수만큼, 혹은 어떤 조건 안에서 반복수행하게끔. |
| + | ===형태=== |
| + | 기본적으로 조건문의 형태와 동일하다. |
| + | {| class="wikitable" |
| + | !형태 |
| + | !방법 |
| + | !사용 |
| + | !예시 |
| + | |- |
| + | |while |
| + | |<syntaxhighlight lang="python"> |
| + | while 조건: |
| + | 명령 |
| + | </syntaxhighlight> |
| + | |반복횟수가 명확하지 않을 때. |
| + | 조건에 따라 돌린다. 조건식이 True일 동안 반복한다. |
| + | |<syntaxhighlight lang="python"> |
| + | while 0< x <=3: |
| + | x-=1 |
| + | </syntaxhighlight> |
| + | |- |
| + | |for |
| + | |<syntaxhighlight lang="python"> |
| + | for 변수 in 자료구조: |
| + | 명령 |
| + | </syntaxhighlight> |
| + | |반복횟수가 명확할 때. |
| + | 자료구조와 함께 사용할 때 쓴다. |
| + | |
| + | 자료구조의 요소를 반복하여 변수에 대입해 쓴다. |
| + | |<syntaxhighlight lang="python"> |
| + | for x in (1,2,3): |
| + | x-=1 |
| + | </syntaxhighlight> |
| + | |} |
| + | =while= |
| + | {| class="wikitable" |
| + | !형태 |
| + | !방법 |
| + | |- |
| + | |기본형 |
| + | |<syntaxhighlight lang="python"> |
| + | while 0< x <=3: |
| + | x-=1 |
| + | </syntaxhighlight> |
| + | |- |
| + | |else |
| + | |<syntaxhighlight lang="python"> |
| + | while 0< x <=3: |
| + | x -= 1 |
| + | else: |
| + | x += 1 |
| + | </syntaxhighlight> |
| + | |} |
| + | =for= |
| + | {| class="wikitable" |
| + | !형태 |
| + | !방법 |
| + | !비고 |
| + | |- |
| + | |기본형 |
| + | |<syntaxhighlight lang="python"> |
| + | for 변수 in 자료구조: |
| + | 명령 |
| + | </syntaxhighlight> |
| + | | |
| + | |- |
| + | |자료구조 안에 또 자료구조가 있을 때 |
| + | |<syntaxhighlight lang="python"> |
| + | for 변수1, 변수2 in [[1,2],[3,4],[5,6]] |
| + | 명령 |
| + | </syntaxhighlight> |
| + | |변수 갯수가 맞지 않는 경우엔 에러가 난다. |
| + | |- |
| + | |else |
| + | |<syntaxhighlight lang="python"> |
| + | for 변수 in 자료구조: |
| + | 명령 |
| + | else: |
| + | 명령 |
| + | </syntaxhighlight> |
| + | | |
| + | |} |
| + | ===range=== |
| + | 반복문은 range() 와 함께 많이 쓴다. 명령에 따라 리스트를 만들어주는 함수이다.(실제 데이터형은 range라는 데이터형으로, 리스트와 구분해서 쓰인다.) |
| + | {| class="wikitable" |
| + | !의도 |
| + | !방법 |
| + | !예시 |
| + | !결과 |
| + | |- |
| + | |기본형태 |
| + | |range(종료숫자) |
| + | range(시작숫자, 종료숫자, 증가량) |
| + | range(시작숫자, 종료숫자) |
| + | | |
| + | | |
| + | |- |
| + | |1부터 9까지 |
| + | |range(1, 10, 1) #10을 만나면 종료해버린다. |
| + | |<syntaxhighlight lang="python"> |
| + | range(10, 1, -1) |
| + | </syntaxhighlight> |
| + | | |
| + | |- |
| + | |10부터 1까지 |
| + | |range(10, 0, -1) |
| + | |<syntaxhighlight lang="python"> |
| + | range(10, 1, -1) |
| + | </syntaxhighlight> |
| + | | |
| + | |} |
| + | |
| + | === enumerate === |
| + | {| class="wikitable" |
| + | !의도 |
| + | !설명 |
| + | !예시 |
| + | |- |
| + | |기본형태 |
| + | |for문을 돌리며 변수와 함께 수를 세주는 역할이 필요할 때. |
| + | |<syntaxhighlight lang="python"> |
| + | for i, x in enumerate(['A', 'B', 'C']): |
| + | # i는 0부터 순차적으로 올라가고, |
| + | # x는 A부터 나온다. |
| + | </syntaxhighlight> |
| + | |} |
| + | |
| + | === zip === |
| + | 특정 데이터를 커플링하고 싶을 때 사용한다. |
| + | {| class="wikitable" |
| + | !의도 |
| + | !설명 |
| + | !예시 |
| + | |- |
| + | |두 리스트를 하나로 |
| + | |각각의 n번 원소를 하나의 튜플로 합쳐준다. |
| + | [1, 2, 3], ["A", "B", "C"]을 |
| + | |
| + | [(1, 'A'), (2, 'B'), (3, 'C')]로. |
| + | |<syntaxhighlight lang="python"> |
| + | pairs = list(zip(list1, list2)) |
| + | </syntaxhighlight> |
| + | |- |
| + | |두 리스트를 하나의 사전처럼 |
| + | |순번이 동일한 리스트가 있고, 이 둘을 동시에 순회해야 할 때. |
| + | |<syntaxhighlight lang="python"> |
| + | for i, j in zip(list1, list2): |
| + | .... |
| + | </syntaxhighlight> |
| + | |} |
| + | =분기문= |
| + | 실행위치를 이동시키는 명령. |
| + | ===break=== |
| + | 반복문 안에서 반복문을 깰 때 사용한다. 조건문 안에서 반복문을 깰 때 사용할 수 있다. |
| + | |
| + | 자기 바로 위의 반복문을 탈출한다. |
| + | ===continue=== |
| + | 해당 반복은 수행하지 않고 다음 반복으로 건너뛴다. 다음 코드의 출력은 0, 1, 3, 4, 5 이다.<syntaxhighlight lang="python"> |
| + | for i in range(6): |
| + | if i == 2: |
| + | continue |
| + | print(i) |
| + | </syntaxhighlight> |
| + | === pass === |
| + | 있으나 마나한 기능이지만.. if나 for문 안에서 내용을 들여쓰기 하지 않으면 에러가 나는데, 내용을 나중에 채워넣기 위해 사용하는 구문. 다음과 같은 때에 사용한다.<syntaxhighlight lang="python"> |
| + | if 1>x: |
| + | pass # 내용은 나중에 넣자. |
| + | |
| + | def 함수명(): |
| + | pass # 함수를 정의하긴 하는데, 내용은 나중에 넣자. |
| + | |
| + | class 클래스명(): |
| + | pass # 클래스를 정의하긴 하는데, 내용은 나중에 넣자. |
| + | </syntaxhighlight> |