1. while 반복문
🚀 do while문이 없음
🚀 특정 조건을 만족하는 동안 반복해서 수행해야 하는 코드를 작성할 때 사용
while 조건식 :
반복실행문
# while 반복문 사용
n = 1
while n <= 10:
print(n)
n += 1 # n = n + 1
print(n)
# 1부터 10 사이의 모든 정수를 역순으로 출력
n = 10
while n >= 1:
print(n)
n -= 1 # n = n - 1
# 100부터 50 사이의 짝수를 출력
n = 100
while n >= 50:
if n % 2 == 0:
print(n)
n -= 1
n = 100
while n >= 50:
print(n)
n -= 2
1) 리스트 사용한 while 반복문
'''
사용자로부터 임의의 정수를 입력받아 모두 리스트에 보관.
단 사용자가 0을 입력하면 프로그램을 종료. 이 때 입력받은 0은 리스트에 보관하지 않음.
'''
my_list = [] # 빈 리스트 생성
# 방법 1)
n = int(input('정수를 입력하세요(종료는 0입니다.) >>> ')) # 한 번만 실행
while n != 0: # n이 0이 아니면 계속 실행
my_list.append(n)
n = int(input('정수를 입력하세요(종료는 0입니다.) >>> '))
print(my_list)
print()
# 방법 2)
n = 1 # 0이 아닌 초깃값을 주면 반복문이 실행됩니다.
while n != 0:
n = int(input('정수를 입력하세요(종료는 0입니다.) >>> '))
my_list.append(n)
my_list.pop() # my_list의 마지막 요소는 언제나 0이므로 제거합니다.
print(my_list)
2) 시간을 기반으로 반복
🚀 유닉스 타임 Unix Time : 세계 표준시로 1970년 1월 1일 0시 0분 0초를 기준으로 몇 초가 지났는지를 정수로 나타낸 것
# 유닉스 타임 구하는 법
import time
time.time()
# 시간 모듈
import time
# 변수 선언
number = 0
# 5초 동안 반복
target = time.time() + 5
while time.time() < target:
number += 1
# 출력
print("5초 동안 {}번 반복했습니다.".format(number))
# 5초 동안 65488529번 반복했습니다.
2. break/continue 키워드
👩🏻💻 break문 : while문이나 for문과 같은 반복문을 강제로 종료하고자 할 때 사용하는 제어문
반복문 내에 break문이 나타나면 곧바로 break문이 포함된 반복문은 종료
n = 1
while True:
print(n)
if n == 10:
break # if문에서 break문을 작성 했지만 실제로 종료되는 것은 while문
n += 1
print(n) # 10
while True: # 무한 루프
city = input('대한민국의 수도는 어디인가요? >>> ')
city = city.strip() # 문자열의 양쪽끝에서 공백을 없앰
if city == '서울' or city == 'seoul' or city == 'SEOUL': # 대소문자 모두 정답처리
print('정답입니다.')
break # 정답을 맞춰야 종료
else:
print('오답입니다. 다시 시도하세요.')
# 종료 조건이 2가지인 경우 : 5개까지 입력이 가능 혹은 그전에 그만두려면 q 입력
hobbies = [] # 빈 리스트 생성
while True: # 무한루프
hobby = input('취미를 입력하세요(종료는 그냥 q) >> ')
if hobby == 'q':
print('입력된 취미가 모두 저장되었습니다.')
break
else:
hobbies.append(hobby)
if len(hobbies) >= 5:
print('5개 입력!')
break
print(hobbies) # 전체 요소 출력
👩🏻💻 continue 문 : 반복문의 시작 지점으로 제어의 흐름을 옮기는 역할
반복에서 제외하거나 생략하고 싶은 코드가 존재할 때 사용
# 1에서 100사이의 모든 정수를 합하는데 3의 배수는 제외
total = 0
for a in range(1,101):
if a % 3 == 0: # 3의 배수인지 검사합니다.
continue
total += a
print(total) # 3367
# 과일 이름 5개를 fruits 리스트에 저장.
# 2개는 미리 저장됨.
# 중복된 과일 이름은 저장이 안됨.
fruits = ['사과', '감귤']
count = 3 # 입력가능한 횟수
while count > 0:
fruit = input('어떤 과일을 저장할까요? >>> ')
if fruit in fruits: # fruits 리스트에 fruit 변수에 있는 값이 있다면
print('동일한 과일이 있습니다.')
continue # while문의 시작 지점으로 돌아가서 다시 과일 이름을 입력
fruits.append(fruit) # 입력된 과일 이름을 리스트에 저장
count -= 1 # 입력 가능 횟수가 줄어듦.
print(f'입력이 {count}번 남았습니다.')
print(f'5개 과일은 {fruits}입니다.')
[ 내용 참고 : IT 학원 강의 자료 및 책 '혼자 공부하는 파이썬' ]
'Programming Language > Python' 카테고리의 다른 글
[Python] 함수(function), 인수와 매개변수, 리턴(return) (0) | 2024.03.02 |
---|---|
[Python] 내장 함수 (built-in function) - 문자/숫자/시퀀스, 리스트 내포, 이터레이터 (iterator) (0) | 2024.03.02 |
[Python] for 반복문과 range() 함수, 역반복문, 중첩 반복문, 피라미드 생성 (0) | 2024.03.02 |
[Python] 딕셔너리 (dictionary), 요소 접근/추가/제거, 내부 키(key) 확인 (0) | 2024.03.01 |
[Python] for 반복문, 중첩 리스트와 중첩 반복문, 전개연산자 (0) | 2024.03.01 |