본문 바로가기
Programming/Python

제어문 - 반복문(for), 탈출문, 무한반복문

by 공부합시다홍아 2023. 10. 19.

제어문 - 반복문(while)

 

제어문 - 반복문(while)

제어문 - 반복문(while) 제어문 - 반복문(while) 제어문 - 조건문 제어문 - 조건문 연산자 연산자 연산자의 종류로는 산술연산자, 대입연산자, 비교연산자, 논리연산자가 있습니다. 산술논산자 산술

hong-study.tistory.com


반복문
  • 반복문의 대표라고 할 수 있을 만큼 가장 많이 사용되는 반복문이다.
  • for 문은 초기화식이 가장 먼저 실행되고, 조건식이 참이면 실행문을 실행시킨다.
  • 만일 조건식이 거짓일경우, for문은 실행하지 않고 끝나게 된다.
  • 쉽게 말하면 나열 가능한 자료에서 자료를 모두 소비할 때까지 처리한다고 보면 된다.
for 변수 in 나열 가능한 자료 :
     변수의 값을 처리할 문장1
     변수의 값을 처리할 문자2
else: ( 선택사항 )
     변수의 값이 할당되지 않는 경우 실행할 문장
  • 변수 
    • 나열 가능한 자료에서 하나씩 빼내서 저장할 변수 또는 변수의 목록
    • for 구문 블록에서 사용
    • 단일 변수 또는 여러 개 변수가 올 수 있음
  • 나열 가능한 자료
    • 나열가능한 자료를 저장한 변수의 이름 또는 실행 결과
    • 리시트, 튜플, 딕셔너리, 셋 등이 될 수 있음
for i in [1,2,3]:
    print("안녕하세요")


cnt = 0
for i in [1,2,3,4,5,6,7,8,10]:
    cnt += 1  
print(cnt)

결과 : 9


range
  • for 문장의 나열 자료형을 쉽게 구성하게 해주는 range() 함수
  • range(begin, end, step)으로 구성
    • begin : 포함
    • end    : 미만
    • step   : 생략가능
  • 때에 따라 step과 begin을 생략가능하다.
for i in range(begin, end, step) :
          내용
for i in range(1, 11):
    print(i, end=" ")


13의 배수의 수를 확인하는 반복문

cnt = 0
for i in range(1,9877):
    if i%13==0:
        cnt+=1
print(cnt)

결과 : 759


for문을 이용한 구구단

a = int(input("구구단 수를 입력하세요 : "))
for i in range(1, 10, 1):
    print(a,"x",i,"=", a*i)


중첩반복문
  • 외부 반복문 내부에서 또 다른 반복문이 존재하는 형태
  • 반복에 제한이 없고, 반복문의 종류에 상관없이 계속 사용이 가능하다.
for 변수 in 반복가능한 객체:
   for 변수 in 반복가능한 객체:
        반복할 소스코드

while 조건:
    while 조건:
        반복할 소스코드

중첩반복문이 어떻게 동작하는 지 확인하는 코드

for i in range(1,10):
    for j in range(2,10):
        print(i, " / " , j)

위 처럼 반복문1이 1번 동작을 수행할 때 2번 반복문을 주어진 조건내의 모든 동작을 수행합니다.


예제1. 중첩반복문을 이용한 구구단

for i in range(2,10):
    print("구구단", i, "단")
    for j in range(1,10):
        print(i,"x",j,"=", i*j)
    print("\n")


예제2 별찍기 1

for i in range(1,6):
    for j in range(1,i+1):
        print("*", end="")
    print("")


예제3 별찍기 2

star = 6
for i in range(1,star):
    for j in range(1, star-i+1):
        print("*", end="")
    print("")


예제4 별찍기 3

a = 5

for i in range(a):
    b = i+1
    
    for j in range(1,a-i):
        print(" ",end="")
        
    for k in range(1, b*2):
        print("*",end="")
    print()


예제 5 별찍기 4

a = 6

for i in range(1,a):
    for j in range(1, a-i):
        print("*", end = "")
    
    for j in range(1,i+1):
        print("*", end="")
    print("")


탈출문
  • Break
    • 반복문을 실행 중 break를 만나면 해당 반복문을 즉시 탈출합니다.
for i in range(1, 11):
    
    if i == 5:
        break;
    print(i)
    
print("프로그램 종료")

 

  •  Continue
    • Continue는 반복문 내에서 Continue 이후의 한 회차의 반복문을 건너뛰고 나머지 반복문을 수행합니다.
for i in range(1, 11):
    
    if i==5:
        continue
        print("5입니다.")
    
    print(i)


무한반복문
  • 무한루프, 반복의 횟수를 지정하지 않고 무한히 반복
  • 대신, 특정 조건에서 탈출문과 함께 사용한다.
while True:
    조건
while True:
    
    food = input("먹고싶은 음식이 있습니까? : ")
    
    if food == "아니요":
        print("입력을 멈춥니다.")
        break
    print(food)


예제 1 : 입력한 수의 일치여부 구하기

cnt = 0

while True:
    sol = int(input("문제 : 38 x 12 는 무엇인가요 ? "))
    if sol != 456:
        print("틀렸습니다.")
        cnt += 1
    else:
        print("정답입니다.", cnt+1, "만에 맞추셨습니다.")
        break


예제 2 입력한 정수의 일치여부 확인하기

cnt = 0
print("문제 : 38 x 12 는 무엇인가요 ?\n")
while True:
    sol = int(input("정답은 ? "))
    if sol != 456:
        print("틀렸습니다!!!\n")
        cnt += 1
    else:
        print("\n정답입니다.", cnt+1, "번 만에 맞추셨습니다.")
        break


 

728x90

'Programming > Python' 카테고리의 다른 글

리스트(LIST)_01  (0) 2023.10.23
문자열 다루기  (2) 2023.10.20
제어문 - 반복문(while)  (0) 2023.10.19
제어문 - 반복문(while)  (0) 2023.10.19
제어문 - 조건문  (0) 2023.10.19