중첩 반복문
'''
중첩 반복문
반복문 안에는 또 다른 반복문이 들어가서 중첩 형태의 반복문을 구성하는 것이 가능하다.
반복상황 내에서 또 다른 반복문을 실행하는 구조이다.
중첩 루프 작성시 주의점은 들여쓰기에 주의하여 해당 실행코드가 어떤 반복문의 실행문인지를 잘 구분해야한다.
'''
for dan in range(2, 10):
print("구구단", dan, "단")
print("=" * 40)
for hang in range(1, 10):
print(dan, "x", hang, "=", dan*hang )
print("---------------------------")
--------------------------결과 -------------------------------------
구구단 2 단
========================================
2 x 1 = 2
---------------------------
2 x 2 = 4
---------------------------
2 x 3 = 6
---------------------------
2 x 4 = 8
---------------------------
2 x 5 = 10
---------------------------
2 x 6 = 12
---------------------------
2 x 7 = 14
---------------------------
2 x 8 = 16
---------------------------
2 x 9 = 18
---------------------------
구구단 3 단
========================================
3 x 1 = 3
---------------------------
3 x 2 = 6
---------------------------
3 x 3 = 9
---------------------------
3 x 4 = 12
---------------------------
3 x 5 = 15
.
.
.
흐름제어 탈출문 (break, continue)
break문
'''
탈출문 (break, continue)
반복문은 조건을 만족하는 동안 계속 코드를 반복하기 때문에 한번 반복이 시작되면 반복횟수가 끝날때 까지 반복을 진행한다.
하지만 중간에 어떤 이유로 반복을 중지하거나 현재 반복을 건너뛰어야할 경우 탈출문을 사용한다.
break
break는 현재 반복문을 즉시 종료시키고 반복문 블록을 탈출한다.
일반적으로 특정 조건하에서 반복문을 종료시키므로 if문과 함께 사용한다.
'''
for a in range(1, 11):
if a == 6 :
break #if문과 for문 둘다 통으로 빠져 나온다.
print(a, end="")
print("\n반복문 종료!")
print("=" * 40)
point = [92, 56, 77, 33, 148, 99]
for p in point :
if(p > 100) or (p < 0):
print("\n점수처리 과정에서 문제 발생! 성적을 확인하세요.")
break
print(p, end =" ")
print("\n점수 처리 완료 !")
---------------------------결과------------------------------
12345
반복문 종료!
========================================
92 56 77 33
점수처리 과정에서 문제 발생! 성적을 확인하세요.
점수 처리 완료 !
continue문
'''
continue
break가 반복문을 강제로 종료시킨다면 continue는 이번 회차 반복 1회만 건너뛰고 다음 반복문부터는 정상적
으로 실행하는 탈출문이다.
쉽게 말해 continue는 실행된는순간 아랫부분은 실행하지 않고 맨위로 올라간다.
'''
points = [92, 46, 22, -1, 87, 76, -1, 100]
for p in points:
if p == -1:
continue
print(p, end=" ")
print("\n점수 처리 완료!")
-----------------------------결과---------------------------------
92 46 22 87 76 100
점수 처리 완료!
무한반복
'''
무한루프
무한루프는 반복횟수를 정하지 않고 무한하게 반복문을 실행하는 구조이다.
처음 반복문을 구성할때 정확한 반복횟수를 파악할 수 없다면 무한 루프를 형성해두고 특정 조건을 통해 반복문을 종료할 수 있도록 코드를 설계한다.
파이썬의 무한 루프는 while문으로만 작성이 가능하면 for문으로 작성할수 없다.
이유: while문은 횟수를 모를때 쓰고 for문은 정해진 횟수만큼 반복할때 사용하므로
ex) while True :
반복실행 코드
if 반복문 종료조건: break
일반적으로 정확한 반복횟수를 모른다면 while을 통해 무한루프를 구성하고 알고 있다면 for문을 사용한다.
'''
print("24 x 5 =?")
cnt = 0
while True:
print("------------------")
answer = int(input("정답: "))
cnt +=1
if answer == 120:
print("정답입니다.!!")
print(cnt, "번만에 맞추셨네요!!")
break
else:
print("틀렸습니다.")
--------------------------------결과------------------------------------------
24 x 5 =?
------------------
정답: 10
틀렸습니다.
------------------
정답: 20
틀렸습니다.
------------------
정답: 120
정답입니다.!!
3 번만에 맞추셨네요!!
'IT' 카테고리의 다른 글
8-1.파이썬 - 문자열 포맷팅 (0) | 2022.07.27 |
---|---|
8. 파이썬 - 문자열 인덱싱, 문자열 슬라이싱, 문자열 관리함수 (0) | 2022.07.27 |
6. 파이썬 - while문, for문, range (0) | 2022.07.25 |
5. 파이썬- if문, 다중 분기 조건문, 중첩 if문 (0) | 2022.07.24 |
4_1. 파이썬 입출력 - print, input (0) | 2022.07.22 |