Python 기초 06. 반복문

yoong·2023년 4월 9일

1. Python

목록 보기
7/21

Python 기초 6.

01.반복문

1. 반복문 정의

: 특정 실행을 반복, 간결, 효율, 유지 보수가 쉽다는 장점
ex) 대량 메일/문자 발송, 인사말 반복,음악반복 재생,구구단출력,팩토리얼,아침 기상알람,영어단어 반복 학습도구,게임반복 실행, 타이머 등

for i in range(1,10):
	print('{} * {} = {}'.format(2,i,(2*i)))

2. 반복문 종류

a. 횟수에 의한 반복(주로 for) : 횟수 지정 후 횟수반큼 반복

  • (예시) : 대량 메일/문자 발송,인사말 반복, 음악 반복 재생
#for ~ in 반복문 형식 (코드블럭)
for i in range (반복 횟수):
	실행문

#예시
for i in range 100:
	print('i -> {}'.format(i))

#range자리에 '자료구조'형이 올 수도 있음. 
# range(100) 의미 : 0-99까지 반복
#반복문에서도 'pass'사용 가능 

b. 조건에 의한 반복(주로 while) : 조건 지정 후 조건에 만족할 때 까지 반복

  • (예시) : 매일 아침 기상 알람, 게임 반복 실행, 타이머 단, 무한루프를 조심해야함
#whil 반복문 형식 (코드블럭)
while n <= endNum: (조건식)
	실행문

#예시
endNum = 10
n = 1

while n <= endNum:
	print(n)
    n += 1 
#n이 10이하 이면 반복 실행 
#반복문에서도 'pass'사용 가능 

c. for vs while

1) 횟수에 의한 반복이라면 for이 더 좋음!

#for문
sum = 0
for i in range(1,10)
	sum += 1
 print('sum : {}'.format(sum))
 
 
#while문 
sum = 0 
n = 1
while n <11:
	sum += n
    n += 1
print('sum : {}'.format(sum))

2) 조건에 의한 반복이라면 while이 더 좋음!

# for문
sum = 0
maxInt = 0
for i in range(1, 101):

	if i % 7 == 0 and sum <= 50:
		sum += i
		maxInt = i

print('i :{}'.format(i))

print('7의 배수의 합이 50이상인 최초의 정수 : {}'.format(maxInt))


# while문
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))


02.반복 범위 설정(Range함수)

1. range() 기본

for i in range(시작,끝,단계)

#예시: 1부터 10까지 2씩 증가 
for i in range (1,11,2):
	print(i)

2. range() 변형

  • 단계가 1일 경우 생략 가능
#예시: 1부터 10까지 1씩 증가 
for i in range (1,11):
	print(i)

  • 시작이 0 일경우 생략 가능
#(예시) 0부터 10까지 1씩 증가 
for i in range (11):
	print(i)

03.무한 루프

1. while문

while 에서 조건식의 결과가 항상 true인 경우

#무한 루프
n = 1 
while n < 10:
	print('hello~')
    
#9번만 실행
#무한 루프
n = 1 
while n < 10:
	print('hello~')
    n += 1 

2. 논리형 데이터

#무한루프
flag = True
num = 0
sum = 0
while flag:
	num += 1
    sum += num
    print('{}까지의 합은 {}입니다.'.format(num,sum))
    
#1000까지만 반복 
#무한루프
flag = True
num = 0
sum = 0
while flag:
	num += 1
    sum += num
    print('{}까지의 합은 {}입니다.'.format(num,sum))
    
    if sum >= 1000:
    	flag = False
    
    


02.반복 범위 설정

1. range() 기본

for i in range(시작,끝,단계)

#예시: 1부터 10까지 2씩 증가 
for i in range (1,11,2):
	print(i)

2. range() 변형

  • 단계가 1일 경우 생략 가능
#예시: 1부터 10까지 1씩 증가 
for i in range (1,11):
	print(i)

  • 시작이 0 일경우 생략 가능
#(예시) 0부터 10까지 1씩 증가 
for i in range (11):
	print(i)

04.반복문 제어

1. 반복문 제어(Continue)

1. Continue 키워드

: 반복 실행 중 continue를 만나면 실행을 생략하고, 다음 반복 실행문으로

#7의 배수만 프린트하는 코드 

for i in range(100):
	if i % 7 != 0:
    	continue
        
        print('{}는 7의 배수입니다.'.format(i))

2. else 키워드

: else의 실행문은 반복문이 종료된 후 실행됨.

cnt = 0
for i in range(100):
	if i % 7 !=0:
		continue
	print('{}는 7의 배수입니다.'.format(i))
	cnt += 1

else:
	print('99까지의 정수 중 7의 배수는 {}개입니다.'.format(cnt))

2. 반복문 제어(break)

: 실행을 중단하고 반복문을 빠져나옴.

num = 0
while True:
	print('Hello~')

	num += 1
	if(num >=5):
		break
# 1부터 100까지 정수를 더할 때, 합계가 100이 넘는 최초의 정수 찾기
sum = 0
searchNum = 0

for i in range(100):
	sum += i

	if sum >100:
		searchNum = i
		break

print('searchNum: {}'.format(searchNum))


05.중첩 반복문

: 반복문 안에 또 다른 반복문을 선언

for i in range(1,10):
	for j in range(i):
    	print('*',end='')
    print()


Reference

  • 이글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었음.
profile
데이터와 이미지로 세상을 공부하는 중입니다 :)

0개의 댓글