1️⃣ 조건문
1. 조건에 의한 반복(while문)
- 조건에 만족하면 반복 실행한다. 그렇지 않으면 반복을 중단한다.
- ex) 매일 기상 알람, 게임 반복 실행, 타이머
endNum = 10
n = 0
while n <= endNum:
print(n)
n += 1
n = 1
while n < 10:
result = 7 * n
print('{} * {} = {}'.format(7, n, result))
n += 1
n=1
while n < 101:
if n % 2 == 0:
print('{}은 2의 배수이다.'.format(n))
if n % 3 == 0:
print('{}은 3의 배수이다.'.format(n))
n += 1
gugudanNum = int(input('희망 구구단 입력 : '))
n = 1
while n < 10:
result = gugudanNum * n
print('{} * {} = {}'.format(gugudanNum, n, result))
n += 1
- 조건에 의한 반복: while문
- cf) 횟수에 의한 반복: for문
sum = 0
maxInt = 0
n = 1
while n<100 and sum<= 50:
n+=1
if n % 7 == 0:
sum += n
maxInt = n
print('n: {}'.format(n))
print('7의 배수의 합이 50이상인 최초의 정수 : {}'.format(maxInt))
sum = 0
for i in range(1, 11):
sum += i
print('sum : {}'.format(sum))
sum = 0
n = 1
while n < 11:
sum += n
n += 1
print('sum : {}'.format(sum))
currentThickness = 30
rotationCount = 0
removeThickness = 0.15
while currentThickness >= 20:
rotationCount += 1
currentThickness -= removeThickness
safeRotationCount = rotationCount - 1
print('운행 가능 횟수 : {}'.format(safeRotationCount))
2. 무한루프
- 반복문을 빠져나올 수 없는 경우를 무한루프라고 한다.
- while문에서 조건식의 결과가 항상 True인 경우
flag = True
num = 0
sum = 0
while flag:
num += 1
sum += num
print('{}까지의 합은 {}입니다.'.format(num, sum))
if sum >= 1000:
flag = False
import random
sum = 0
date = 0
flag = True
while flag:
patientCount = random.randint(50, 100)
sum += patientCount
date += 1
print('날짜: {}, 오늘 환자수: {}, 누적 환자수: {}'.format(date, patientCount, sum))
if sum >= 10000:
flag = False
2️⃣ 반복문 제어
1. continue
- 반복 실행 중 continue를 만나면 실행을 생략하고, 다음 반복 실행문으로 넘어간다.
for i in range(100):
if i % 7 != 0:
continue
print('{}는 7의 배수 입니다.'.format(i))
cnt = 0
for i in range(100):
if i % 7 != 0:
continue
print('{}는 7의 배수 입니다.'.format(i))
cnt += 1
else:
print('99까지의 정수 중 7의 배수는 {}개입니다.'.format(cnt))
minNum = 0
for i in range(1, 101):
if i % 3 != 0 or i % 7 != 0:
continue
print('공배수 : {}'.format(i))
if minNum == 0:
minNum = i
else:
print('최소 공배수: {}'.format(minNum))
2. break
num = 0
while True:
print('Hello')
continue
num +=1
if num >=5:
break
print('THE END!!')
sum = 0
searchNum = 0
for i in range(100):
sum += i
if sum > 100:
searchNum = i
break
print('searchNum : {}'.format(searchNum))
result = 1
num = 0
for i in range(1,11):
result *= i
if result > 50:
num = i
break
print('num: {}, result: {}'.format(num, result))
limitWeight = 2200
currentWeight = 800
date = 1
while True:
if currentWeight >= 2200:
break
date += 1
currentWeight += 70
print('이유식 중단 날짜: {}일'.format(date))
3️⃣ 중첩 반복문
- 반복문 안에 또다른 반복문을 선언한다.
- 너무 잦은 반복은 좋지 않고 3~4번이 적당하다.
for i in range(10, 0, -1):
for j in range(i):
print('*', end='')
print()
for i in range(1, 10):
for j in range(2, 10):
result = j * i
print('{} * {} = {} \t'.format(j, i, result), end = '')
print()