본문 바로가기

반복문 for , while - 자세한 파이썬.

취미/프로그래밍 2021. 8. 10.
반응형

 

반복문 기본개념


여러 동작을 반복해야 하는 경우가 종종 생깁니다.

이럴때 쓸수 있는게 for , while 두가지 입니다.

둘의 차이는 while 은 특정 조건을 만족하는 경우 반복하고 반복을 멈추게 하는 장치가 필요합니다.

반면 for 는 리스트, 문자열, 튜플 등의 타입에 구성원을 하나씩 순회하면서 사용이 가능합니다.

 

 

 

 

while 예시


while 조건문: # 조건문이 참이라면 아래내용 반복
    반복할내용

 

i = 1

while i < 10: # i가 10보다 작다면 아래 반복문 수행

    print(i) # i 값을 print
    
    i += 1 # i의 값에 1을 더해라

 

조건문이 참이라면 아래 내용을 멈추라는 지시가 없는한 계속 반복합니다.

 

그럼 강제로 멈추는 방법은 없을까요? 그럴 때를 위해  break 가 있습니다. 

 

i = 1

while i < 10: # i가 10보다 작다면 아래 반복문 수행

    print(i) # i 값을 print
    
    if i == 3: # 만약 i의 값이 3이면 이 반복문을 강제로 탈출해라
        break

    i += 1 # i의 값에 1을 더해라

 

결과

 

그렇다면 강제로 멈추긴 싫고 일정 조건에만 반복문을 다음으로 넘기는 방법도 있습니다. 

continue 입니다.

 

i = 0

while i < 10: # i가 10보다 작다면 아래 반복문 수행
    i += 1 # i의 값에 1을 더해라 
    
    
    if i == 3: # 만약 i의 값이 3이면 이 반복문을 다음으로 넘겨라
        continue

    print(i) # i 값을 print

 

결과

 

 

for문 예시


 

for 반복 변수 in 반복 범위:
    반복할 내용

 

for x in 'hi! nice to meet you ':
    print(x)

반복 범위의 첫번째 부터 차례로 하나씩 반복 변수 x에 넣어 수행합니다. 

 

 

결과

 

 

 

break 사용

for x in 'hi! nice to meet you ':
    print(x)
    if x == "!": # 변수 x의 값이 ! 라면 강제탈출
        break

 

 

결과

 

 

continue 사용

for x in 'hi! nice to meet you ':
    
    if x == "!": # 변수 x의 값이 ! 라면 아래 내용을 수행하지 않고 다음으로 넘기기
        continue

    print(x)

 

결과 ( !만 빠졌다)

 

 

 

for문 응용


1) 딕셔너리와 함께 사용

i = {'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing'} # 나라: 수도 로 구성된 딕셔너리

for key in i: # 반복변수 이름은 key 
    print("나라이름은 : "+ key +" 수도 이름은 : "+ i[key])  #  i[key]는 i딕셔너리의 key값에 해당하는 value값을 나타낸다.

 

결과

 

 

 

 

2) index 를 사용

 

index는 차례로 변수와 상관없이 반복하는 횟수를 나타내는 것이라고 생각하면 편하다

 

i = [10, 11, 12, 13, 14, 15]

for index, num in enumerate(i): # i의 내용을 num 변수에 하나씩 차례로 넣어서 수행

    if index > 3: # index값이 3보다 클때 , 즉 4번째 반복때부터 아래의 내용을 수행

        print("인덱스 값 :",index,"num변수의 값 :", num) # index 값과 num의 변수 값을 print

 

결과

 

 

반응형

댓글