build my life

[Python] 제어문 - 반복문(while문, for문) 본문

Python

[Python] 제어문 - 반복문(while문, for문)

dalovee 2022. 8. 4. 15:06
728x90

반복문

  • 반복적으로 코드를 수행할 때 사용
  • 진짜 많이 사용된다 반복문,,, 제대로 공부해둘 것!

 

1. while문

  • 조건에 의해 반복문 실행
  • 조건이 참일 경우 계속 반복하기 때문에 무한 반복 주의 => 조건문을 빠져나올 조건을 넣어주는게 중요
while(condition):
    code context

 

예시) 3단 구구단을 출력해보자.

#3단 출력
n = 3
i = 1 #곱하는 수는 1씩 증가한다. 초기값 1
while (i<10): #i가 10보다 작을 때 까지만 반복한다.
    print(f"{n} X {i} = {n*i}")
    i += 1 # i = i + 1

n : 단을 의미 ex) 3단이니까 3을 입력

i : 초기값 1을 입력해준다.

 

설명)

- 조건 :  i값이 10보다 작을 때까지만 아래의 코드를 실행한다.

- 출력문에 n = 3, i =1 값이 들어가 출력된다.

- 다음 반복을 진행하기 전 i에다가 1을 더해준다.

즉, n = 3 고정되고 i값만 1씩 더해져서 10보다 작을 때 까지만 반복이 실행된다.

#output
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27

 

1.1 중첩 while문

i = 1

while i < 3:
    print(f"{i}번째 바깥쪽")
    i+=1

    j=1
    while j < 3:
        print(f"    {j}번째 안쪽")
        j +=1
        
        
# output
1번째 바깥쪽 while문 입니다.
    1번째 안쪽 while문 입니다.
    2번째 안쪽 while문 입니다.
2번째 바깥쪽 while문 입니다.
    1번째 안쪽 while문 입니다.
    2번째 안쪽 while문 입니다.

 

2. for문

  • 반복 가능(iterable)한 객체를 더이상 꺼낼 수 없을 때까지 반복
  • 반복 가능한 객체 = list, tuple, set, dict, str ...
for <variable> in <iterable>:
    conde context

 

예시)

lst = [1,2,3,4]

for item in lst:
    print(item**2)
    
# output
1
4
9
16

❗ lst의 값을 하나씩 가져와 item에 넣어준다.

1번 반복 : item = 1 -> 1**2 = 1

2번 반복 : item = 2 -> 2**2 = 4

3번 반복 : item = 3 -> 3**3 = 9

 

 

2.1 range함수

  • for문과 정말 많이 같이 자주 사용되는 함수
  • 특정 구간의 숫자의 범위를 만들어준다.
  • 형식 : range(start, end, step)
range(0,6)
# [0,1,2,3,4,5]

 

 

2.2 중첩 for문

  • for문 공부할 때 가장 많이 하는 별찍기 예시로 해보겠다!
n = 5

for i in range(n):
    for j in range(i+1):
        print("*", end = "")
    print() #줄바꿈
    
#output
*
**
***
****
*****

이렇게 반복문 안에 또 반복문을 작성해서 문제를 해결 할 수 있다.

 

 

반복문과 관련해서 반복문을 제어하는 break문과 continue문이 있다.

 

break문

  • 더이상 반복하지말고 바로 반복문을 끝내는 문
for i in range(1,5): i = 1,2,3,4
    if i == 3:
        break
    else:
        print(i)
        
#output
1
2

=> i에 차례대로 1,2,3,4 값이 들어가는데 만약, i가 3이면 더이상 반복을 그만하고 빠져나온다!

 

 

continue문

  • 반복을 끝내지 않고 continue 아래에 있는 문을 실행하지 않고 다음 반복을 시작하는 문
for i in range(1,5):
    if i == 3:
        continue
    else:
        print(i)
        
#output
1
2
4

=> i에 차례대로 1,2,3,4 값이 들어가는데 만약, i가 3이면 아래의 문을 실행하지 않고 바로 다음 반복으로 넘어간다.

그래서 3이 출력되지 않는 것이다.

 

 


정말정말정말정말 많이 쓰이는 제어문,,, 조건문,,, 반복문,,,

그래서 더 제대로 공부하고 익숙해져야하는 문인 것 같다!!!!

다음은 이 제어문들을 더욱 효율적이게 코딩하는 방법을 배운다!

enumerate,, zip,, comprehension,, 처음들어,,,ㅎ

 

728x90