자운최고지식인되기/파이썬 공부

3-2. 선택과반복 [이론 및 실습]

ssoy1206 2025. 3. 20. 21:37

선택과반복

반복문

💡 같은 일을 여러 번 수행해야 하는 경우

동일한 명령어를 필요한 횟수만큼 기술하는 것 보다, 하나의 명령어를 필요한 횟수만큼 반복수행 하도록 프로그래밍 하는 것이 간결하고 간편함.

반복문의 종류 : for문 , while문

for문 기본 구조

for 변수 in range(시작값, 끝값+1, 증가값) :
    반복실행 되는 문장들
  • range(시작값,끝값+1) : for문과 함께 많이 사용하는 함수로서 시작값부터 끝값까지 반환
  • range() 대신 연속자료형이 올 수도 있음

for문 실행예시 : 1부터 n까지의 수 더하기

sum=0
num=int(input('마지막 수 : '))
for i in range(1, num+1): #1부터 num까지 1씩 증가하며 반복
 sum+=i                   #sum=sum+1을 복합연산자로 표현
print(f'1부터 {num} 까지의 합계는 {sum} 입니다.')

 


while문 기본 구조

while : 조건식:
 반복 실행되는 문장
  • for문은 for 예약어가 사용된 첫 번째 줄에 반복 범위 지정
  • while문은 범위가 지정되어 있지 않으므로 조건식을 통해 수행 횟수 제한

while문 실행예시 : 안녕하세요 5번 출력하기

i=0                      #초기값설정
while i<5 :              #조건식이 참인 동안 반복 
 print('안녕하세요?')
 i+=1                    #이 문장이 없으면 조건식이 항상 참 => 무한 반복

print('i=',i)            #i변수가 5일 때 조건식이 거짓


for문으로 안녕하세요 5번 출력하기 변형 실습

for i in range(5) :         # range(5)는 0부터 4까지 5번 반복
 print('안녕하세요?')

print('i=',i+1)             # i+1 하면 마지막 값이 5로 출력됨

while문으로 1부터 10까지 더하기 변형 실습

sum = 0
num = int(input('마지막 수 : '))
i = 1
while i <= num:                    # i가 num보다 작거나 같을 때 반복
    sum += i                       # sum = sum + 1
    i += 1                         # i를 1씩 증가시켜줌 (i = i + 1)

print(f'1부터 {num} 까지의 합계는 {sum} 입니다.')

 


기타 제어문

pass

pass : “다음 수행 단계로 넘어감”의 의미

프로그래밍 과정 중에 이후에 작성하고자 하는 부분이 있을 때, 일단 넘어가기 위해 주로 사용

if price>=50000
 pass             #이후에 작성할 부분
else:
 pass             #이후에 작성할 부분

break & continue

break : 현재의 반복문 전체를 중단

continue : 현재의 반복 시행을 중단하고 다음 반복 시행으로 넘어감

break와 continue를 활용하여 1부터 100사이 모든 짝수의 합 구하기

n,sum=0,0         #n=0, sum=0을 각각 입력한 것과 동일한 효과

while True :      #무한루프(True 대신 1 입력해도 됨)
 n=n+1            #복합연산자로 표현시 n += 1
 if n % 2 == 1 :  #2로 나눈 나머지가 1이면 홀수
  continue        #홀수면 while True : 줄로 이동
 if n > 100 :     #n이 100보다 크면 True
  break           #조건이 참이면 반복문에서 빠져나와 마지막줄 print명령문 시행
 print(n,end=',') #짝수를 하나씩 배열하여 출력
 sum+=n           #짝수를 sum에 누적 합산

print('\n1부터 100까지의 짝수의 합 =', sum)