심리이모저모

파이썬 공부하자! - 10. for문 본문

IT 공부하자!/Python

파이썬 공부하자! - 10. for문

교육심리학자 2018. 1. 15. 21:08
728x90

key word : 파이썬(Python), 제어문, for문, range, 리스트, 튜플, 딕셔너리

이번에는 반복문인 for문에 대해 공부해봅시다!^^


1. 파이썬 공부하자! - 09. for문

1. for문


여러분이 매일 생활하면서 똑같은 일을 반복하는 경우가 있을 겁니다. 예를 들면, 초등하교 때 받아쓰기 공부를 위해서 같은 문장을 10번 씩 쓰는 경우, 또는 회사나 학교에서 프레젠테이션을 위해 같은 자료를 여러 부 복사하는 경우 등 생활에서 같은 일을 반복하죠. 

프로그램밍에서는 어떨까요? 우리의 실생활을 컴퓨터가 이해하도록 하는 것이니 크게 다르지 않을 것입니다. 1부터 10까지의 수를 화면에 추력해 봅시다. 아마 앞에까지의 내용을 잘 공부하신 여러분은 다음과 같이 출력했을 것입니다. 


시간도 오래 걸리고 지루하고, 번거롭지 않나요? 이런 작업을 간단하게 바꿀 때 사용하는 것이 바로 for문입니다. 다음과 같이 for문을 사용하면 1~10까지 추력을 간단하게 할 수 있습니다. 



2. 파이썬 공부하자! - 09. for문

여기서 for의 영어 뜻이 뭐길래 for를 키워드로 선택했을까 라고 생각하실 수도 있습니다. for는 ~동안, 위한, ~대한, ~치고는 등 여러 뜻을 가지고 있지만, 프로그래밍을 할 때는 "~동안", "~대한" 정도로만 생각하면 될 것 같습니다. 위 코드를 해석하면 "i에 대한 반복문인데 i가 1에서 10까지일 동안만 출력해라"라고 볼 수 있습니다. 


그런데 뭐가 생긴 형태가 if문하고 비슷하면서 다르죠? 

1) 반복문에는 for를 사용한다. 

2) 'for' -> '반복 조건' -> 콜론(:)의 순으로 작성 한다. 

3) 반복할 코드를 들여쓰기 한다. 


for문 뒤에 쓰는 코드를 지칭하는 여러 단어들이 있지만 여기서는 반복 조건이라고 하겠습니다. "조건 : i가 1에서 10까지 일 때만 반복한다."로 생각하는 것이 편하기 때문입니다. 


3. 파이썬 공부하자! - 09. for문


2. for문과 range


앞으로 for문을 사용해 1~10을 출력하는 과정에서 알 듯, 모르듯 리스트를 함께 썼는데요. " [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] " 기억나시나요? 1~10이라면 해볼 만한 양이지만 1~100까지라면 프로그램을 만드는 시간보다 숫자를 쓰는 시간이 더 많이 들겠죠? 

이럴 때 이용하는 것이 바로 range입니다. '범위'라는 뜻을 가진 영어 단어인데, 파이썬에서는 짧은 구문으로 정수의 범위를 표현할 수 있습니다. 위와 같은 경우는 1부터 9를 나타내는 것입니다. 주의하실 점은 1~10이 아니라 1~9라는 점이죠!

그럼 앞의 코드를 더 짧게 변형해 볼까요? 


4. 파이썬 공부하자! - 09. for문

3. 리스트와 튜플

그럼 반복문에는 리스트를 언제 써야 되는가? 바로 여러분이 쓰고 싶을 때, 편할 때!


앞으로도 제가 이런 대답을 많이 하게 될 것인데요. 프로그래밍의 효율성을 고려하지 않는 수준에서는 어떤 방법을 선택하는가는 여러분의 몫입니다. 코드를 짧게 쓰는 것이 좋은 분들은 최대한 짧게 쓸 수 있는 방법을 복잡해도 균일하게 쓰는 것이 좋은 분들은 그런 방법을 선택 하시면 된답니다. 


꼭 써야하는 때보다는 어쩔 수 없이 리스트를 사용하게 되는 경우는 있을 수도 있습니다. 문자열을 사용하는 경우죠. range는 숫자를 쉽게 쓰는 키워드이기 때문에 문자를 표현할 수는 없습니다. 하지만 리스트는 숫자, 문자열 상관없이 사용할 수 있죠. 예시를 한 번 볼까요? 

5. 파이썬 공부하자! - 09. for문

list_cook에 들어있는 원소들을 한 번씩 이용해서 출력한다는 것을 알 수 있겠죠? 그런데 출력할 때 사용하는 print에 뭔가 색다른 게 들어있네요..

"cook : Buy 3"라고 써야 될 것 같은데 말이죠. 하지만 그렇게 쓰게 된다면 다음과 같이 정말로 "cook : Buy 3"만 뜨네요. 


6. 파이썬 공부하자! - 09. for문

이건 cook이라는 리스트 내 원소가 아닌 "cook : Buy 3"라는 문자열 안의 4글자이기 때문입니다. 

다라서 우리가 원한대로 쓰고 싶다면, 다음처럼 문자열이 출력될 위치에 '%s'를 쓰고, 실제로 출력해야 할 문자열은 '%'기호 뒤에 변수명을 쓰면 되는 것이죠. 

7. 파이썬 공부하자! - 09. for문


소제목에 리스트와 튜플이 함께 있는 이유는 둘의 차이가 거의 없기 때문입니다. 여러분이 편하시고, 원하신다면 다음처럼 리스트가 아닌 튜플을 사용하셔도 됩니다. 

8. 파이썬 공부하자! - 09. for문


4. 딕셔너리

딕셔너리는 조금 특이한 자료구조였죠? "키 : 값"을 가지는 형태였지만, 리스트처럼 순서대로 되어있는, 두 개의 값을 동시에 사용할 수 있는 자료구조였는데요. 

딕셔너리를 for문에 사용할 때는 어떻게 해야 될까요? 

"키 : 값" 두 개의 값을 동시에 사용해야 하기 때문에 for문을 쓸 때 2개의 변수를 적어주어야 합니다. 또한 딕셔너리 이름 다음에 " .items() "를 붙여야 합니다. 다음처럼 말이죠. 



9. 파이썬 공부하자! - 09. for문

그런데 딕셔너리에서 키만, 도는 값만 필요한 경우도 있었습니다. 그 경우 우리는 key()와 values()를 사용하는 것도 공부했고요. 그렇다면 반복문에서 이런 경우는 어떻게 할까요? 눈치 채셨겠지만 간단합니다. 리스트처럼 쓰면 되겠죠? 


10. 파이썬 공부하자! - 09. for문


Comments