1 life 2 live
파이썬 기초 프로그래밍(4-2) - 반복문 (While 구문, Break, Continue 및 실습 문제와 정리 [20.7.13] 본문
4. While 구문
■ 조건식이 참이면 특정 구간의 코드르 반복해서 수행하는 반복문
º 언제 조건식이 거짓이 되는가?
■ While 문 예제
º 반복 구간을 탈출 할 수 있는 로직이 별도로 존재해야 한다!
• for 구문: 리스트/문자열의 경우 자동 증가, range()의 경우 ‘단위’ 인자 활용
º 예) 0~9까지 순서대로 출력하기 위한 프로그램
º 위 코드에서 4번 라인의 구문이 없다면?
• 0이 무한 반복하게 된다.
■ For와 While의 비교
■ While 예제) 1부터 10까지의 합을 계산하는 프로그램
■ While 메뉴 만들기
º 실행 결과는? → 2를 입력하면 종료가 된다.
■ 실습1) 사용자로부터 1~9사이의 수를 입력받아 그 수만큼 “*”를 출력하는 프로그램을 작성하시오
º 참고: print(‘메시지’, end=‘’)
• print 출력의 마무리를 ‘\n’에서 end에 지정된 문자로 변경 가능
↓ 정답
a = int(input('숫자를 입력하세요: '))
b = 0
while b < a:
print('*', end='')
b += 1
■ 실습2) 문자열을 입력받고 해당 문자열의 길이를 암호로 입력받는 프로그램을 작성하시오.
º len()함수를 사용한다.
↓ 정답
a = input('문자열을 입력하세요: ')
b = int(input('암호코드를 입력하세요: '))
while b != len(a):
b = int(input('암호코드를 입력하세요: '))
print('환영합니다!')
■ 반복문: 중첩
º IF 문의 중첩과 같이, 반복문도 중첩이 가능하다.
• 반복문이 다른 반복문을 내표하는 구조
■ 실습) 3행 3열의 사각형을 출력하는 프로그램을 작성하시오
º 중첩된 for문과 중첩된 while문을 이용한 프로그램을 각각 작성
º 3개의 행에 대하여,
• 3개의 열에 "*"를 찍어주면 될까?
º 참고: print('메시지', end='')
• print 출력의 마무리를 '\n'에서 end에 지정된 문자로 변경 가능
↓ 정답1)
a = 3
for i in range(a):
for j in range(a):
print('*', end='')
print('')
↓ 정답2)
a = 0
while a < 3:
b = 0
while b < 3:
print('*', end='')
b += 1
print('')
a += 1
5. 반복 제어: Break & Continue
■ Break 구문
º 반복문에 흐름을 강제로 벗어날 수 있게 (탈출!) 해주는 제어문
º 현재 소속되어 있는 반복문에 대해서만 적용됨
º 중첩 반복문에서의 Break
• 현재 소속되어 있는 반복문에 대해서만 적용됨
■ Continue 구문
º 수행 즉시 남아 있는 문장들을 모두 생략하고 반복문의 조건식을 검사하기 위한 제어문
º 현재 소속되어 있는 반복문에 대해서만 적용됨
º 중첩 반복문에서의 Continue
• 현재 소속되어 있는 반복문에 대해서만 적용됨
6. 정리
■ 반복문
º For 구문: 계수 성격이 큰 반복문
º While 구문: 논리 조건 성격이 큰 반복문
■ 중첩
º 중첩된 for/while 문을 통하여 보다 복잡한 반복구문 수행 가능
■ 제어
º 현재 소속된 루프에 대해서만 적용됨
º Break: 반복문 탈출
º Continue: 다음 조건문 검사
'파이썬' 카테고리의 다른 글
파이썬 기초 프로그래밍(5-2) - 자료구조1 (리스트 및 실습) [20.7.15] (0) | 2020.07.15 |
---|---|
파이썬 기초 프로그래밍(5-1) - 자료구조1 (리스트) [20.7.14] (0) | 2020.07.14 |
파이썬 기초 프로그래밍(4-1) - 반복문 (For 구문 및 실습 문제) [20.7.12] (0) | 2020.07.12 |
파이썬 기초 프로그래밍(3-2) - 조건문(관계/논리 연산자), 실습 문제와 정리 [20.7.11] (0) | 2020.07.11 |
파이썬 기초 프로그래밍(3-1) - 조건문(관계/논리 연산자) [20.7.10] (0) | 2020.07.10 |