본문 바로가기
IT 정보

파이썬(Python) 반복문_for문 기초 배우기

by hong 2021. 2. 24.
반응형

저번 글에서 파이썬을 설치하고 이제 뭘 만들어 볼까 고민하다가 여러 가지를 찾아봤는데.... java랑은...... 조금 형식? 이 달라서 이해하기가 조금 난감하더라고요... 그래서 java로 개발할 때도 그렇지만 제 기준에서 중요하다는 반복문부터 시작하기로 했습니다.!!(이건 제 주관적인 생각입니다.)

 

정석이라면? 자료형 부터 시작해서 비교문(if), 숫자 더하기? 등등 기초부터 시작해야 하지만 성격상 필요한 거 먼저 돌려보면서 만드는 사람이라서 순서가 왔다 갔다 할거 같지만 나름 잘 정리해서 공유해 봅니다.!!!!

 

 

1. 배열의 Count 만큼 for문 돌리기

  • in 뒤에 [] 대괄호가 배열인데 그안에 숫자의 개수만큼 for문을 돌립니다.
for i in [1, 3, 5, 7, 9, 12, 19]:
    print("data : ", i)

 

결과는 1, 3, 5, 7, 9, 12, 19 총 7번의 로그가 출력됩니다.

참고

  • print <- 이건 출력을 할 거라는 명령어 (구분은 " , " 로 문자와 값 혹은 문자를 결합합니다.)
  • "" <- String 문자형으로 문자를 의미합니다.

 

 

 

 

 

2. 배열의 개수만큼 for문 돌리기(배열데이터 여러 타입)

  • 1번과 동일하게 배열의 개수만큼 for문을 돌리는데 여러개의 타입이 들어있는 배열을 돌려 봤습니다.
  • 1 <- int 숫자형
  • "Hong" <- String 문자형
  • [] <- 배열
for i in [1, 3, 5, "Hong", 9, 12, ["a", "b", "c"], "end"]:
    print("data : ", i)

 

결과는 " , " 찍힌 배열을 갯수 만큼 for문을 돌고 모든 타입들을 print 해서 값을 출력합니다.

 

 

 

 

 

3.range(시작 값, 종료 값, 증가 값) - 1씩 증가시키기

  • in 뒤에 range() 함수를 사용해서 for문을 돌려 1씩 증가시킵니다.

 

for i in range(1, 9, 1):
    print("range : ", i)

 

결과는 1 ~ 9까지 for문을 돌리면서 1씩 증가를 시키니까 총 9번의 로그가 출력됩니다.

  • 1 < i < 9  i = 1보다 크고 9보다 작다
  • 처음 i = 시작 값
  • 두 번째부터는 i = i + 증가 값

 

 

 

 

 

4.range(시작 값, 종료 값, 증가 값)  - 2씩 증가시키기

  • in 뒤에 range() 함수를 사용해서 for문을 돌려 2씩 증가시킵니다.
for i in range(1, 9, 2):
    print("range : ", i)

 

결과 1 ~ 9까지 for문을 돌리면서 2씩 증가를 시키고 9보다 작아야 돼서 7까지 결과가 출력됩니다. 총 4번의 로그가 출력 됩니다. 

  • 1 < i < 9  i = 1보다 크고 9보다 작다
  • 처음 i = 시작 값
  • 두 번째부터는 i = i + 증가 값

 

 

 

 

 

5. enumerate(배열 데이터, 시작 값) 함수 이용하기 - 전체 출력

  • 1번과 비슷하지만 enumerate() 함수를 사용하여 배열에 들어있는 데이터의 순번과 값을 출력합니다.
testData = ["A", "B", "C", "D"]
for i in enumerate(testData, 1):
    print(i)

 

결과 enumerate() 함수의 시작 값을 1로 해서 1씩 증가되면서 총 4개의 로그가 출력됩니다.

 - 개인적인 생각으론 값을 변경안 하고 그냥 확인용도라면 그냥 i를 써서 기본 출력 로그로 보는 것도 편한 거 같습니다. for문 돌리면서 나온 값을 체크하거나 가공하려면 아래와 같이 하시면 됩니다.

 

 

 

 

 

6. enumerate(배열 데이터, 시작 값)함수 이용하기 - 증가 값 : 배열 데이터 출력

  • enumerate() 함수를 사용하여 배열에 들어있는 데이터의 순번과 값을 출력합니다.
testData = ["A", "B", "C", "D"]
for i, testStr in enumerate(testData, 2):
    print(i, " : ", testStr)

 

결과 testStr이라고 데이터를 입력받을 변수를 넣어주었고(다른 명칭으로 하셔도 됩니다.) 시작 값은 2부터 하였기 때문에!! print 하였기 때문에 i 에는 위에서와 다르게 시작값 : 2 (증가하면서)이 들어가고, testStr에는 배열의 값이 출력됩니다.

 

 

 

 

 

7. 중첩 for문

  • range() 함수 2개를 중첩하여 for문을 2번 돌린다.
for i in range(1,9,2):
    for j in range(1,6,1):
        print("[i : ", i, "] , [j : ", j, "]") 
    print("----------------------")

 

중첩 for문은!!!! 첫 번째 for문이 1번 실행되고 바로 아래 있는 두 번째 for문이 모두 수행되는 형식입니다.

  1. 첫 번째 for문 i = 값 1번 동작
  2. 두 번째 for문 j = 값 1~5번까지 모두 동장
  3. 첫 번째 for문 i = 값 3번 동작 
  4. 두 번째 for문 j = 값 1~5번까지 모두 동장
  5. 첫 번째 for문 7번까지 반복....

이해가 잘 안 되시면... 값을 바꾸면서 돌려보시면 돼요... java에서는 별 찍기 이런 걸로 배웠던 기억이 ㅎㅎ

저는 개발할 때 중첩 for문이 헷갈려서 데이터를 틀리는 경우가 많아서 잘 기억해서 개발 시 로그를 찍어보면서 개발하시는 것을 추천합니다.

 

이 블로그는 제가 책을 보고 옮겨서 작성한 게 아니라 제가 이런 걸 적으면 괜찮겠다 싶은 것들을 제 생각대로 나름 풀어서 설명하면서 쓰는 거예요... 조금 내용이 틀려도.... 틀린 게 보이시면 댓글 남겨주세요 ㅎㅎㅎ 파이썬을 모르는 초보들이 서로서로 같이 공부하면서 능력을 키워나가면 좋을 거 같습니다.!!!!

 

이해가 안 가는 게 있으시면 댓글 남겨주세요.... 공부하는 방법은 코드를 복사하셔서 코드를 돌려가면서 숫자도 증가시켜보고 찍히는 로그를 보면서 이해하시는 방법을 추천드립니다.... 

혹시나 모르는 게 생기시면 댓글 남겨 주세요. 저도 공부해서 만들어 보고 같이 공유하면서 공부해요 ㅎㅎㅎㅎ

 

반응형
LIST

댓글