Python 라이브세션_조건문과 반복문

라라·2025년 5월 29일
0

Python 시리즈

목록 보기
4/5

Python의 조건문과 반복문

  • 파이썬을 유동적으로 만들어주는 문법
  • 특정 조건에서만 코드가 실행되게 하거나 일정하게 반복하는 코드를 작성할 때 사용되는 문법

조건문이 필요한 이유?

  • 우리의 일생에서도 수많은 선택의 상황(조건)이 있음
  • 조건문으로 현실의 상황을 프로그래밍 언어로 표현할 수 있음

반복문이 필요한 이유?

  • 하루 생활에 루틴이 있듯이 컴퓨터에게도 반복 작업을 시키고 싶을 때 사용하는 문법
  • 매번 똑같은 일을 반복하는 코드를 하나씩 작성하지 않고 한줄로 끝낼 수 있음

조건문 if

if 조건A:
    처리A
elif 조건B:
    처리B
else:
    처리C
처리D
  • 조건문의 실행 흐름
  1. 조건문은 위에서 아래로 순차적으로 실행
  2. if: if의 조건 A가 참인지 확인함
    참이면 처리 A를 실행하고 나머지 조건은 실행되지 않는다.

⭐️튜터님의 조언⭐️
조건문에서 조건이 맞아야 한다 = 값이 참이다라는 의미다.
조건문의 답은 참(True)와 거짓(False)으로 출력되어야 한다.

3.elif: if 조건 A가 거짓이라면, elif 조건 B가 참인지 확인함
참이면 처리 B를 실행하고 이후 조건은 실행되지 않는다.
elif의 조건은 앞의 **if와 동일한 조건**으로 실행되어야 한다.
4.else: 모든 if와 elif 조건이 거짓이라면 처리 C를 실행
5.조건문 블록이 끝난 후 처리 D는 항상 실행

  • 조건문의 연산자
    • == : 등호, (= 는 변수 할당에 사용되었으므로)
    • *: 곱하기, / : 나누기, + : 더하기, - : 빼기, **: 거듭제곱
    • %(mod) : 나눈 나머지
    • // : 나눈 몫

예시)
주어진 값이 짝수이면 짝수라고 출력하는 조건문을 만들기

i = 4
if i % 2 == 0:
	print('짝수입니다')
else:
	print('홀수입니다')

for 반복문

for (iterator) in (Sequence Type):
	(실행구문1)

"iterator = 반복자"로 반복문 안에서만 사용되는 변수

  • for 구문에서 반복할 수 있는 자료형은 리스트, 문자열 자료형, range()내장함수가 있다.

    • range()내장 함수
      1) range(3): 시작(default 0)부터 2(3을 포함하지 않음)까지 만들기 = 0, 1, 2

      2) range(1,4): 시작(1)부터 3(4를 포함하지 않음)까지 만들기 = 1, 2, 3

      3) range(2,6,2): 시작(2)부터 5(6을 포함하지 않음)까지 2씩 넘어가며 만들기 = 2, 4

예시) 아래 코드의 결과 값은?

for i in range(2, 6):
    print(i)

결과 값: 2, 3, 4, 5

예시) 아래 코드는 몇 번 반복될까?

for i in "Python":
    print(i)

결과: p,y,t,h,o,n 으로 6번

  • 기타 구문

    • pass: 코드가 비어있는 것과 같다.

    • continue: 조건이 맞으면 아래 코드를 무시하고 다음 반복으로 넘어감

    • break: 반복문 완전히 종료

While 반복문

  1. 조건문과 반복문의 조합
  2. While 내에서 선언된 구문은 조건을 만족할 떄까지 영원히 수행

while (조건문):
	(실행구문)

예시) **무한 루프** ```python while True: print('파이썬 넘모 어렵...') ```
예시) 정상 작동 코드 `외부 변수를 선언해서 조건을 검`
time_left = 60  # 제한 시간 (분)

while time_left > 0: #제한 시간은 0보다 크다
    print(f"코드카타 종료까지 {time_left}분 남았습니다.") # 코드카다 종료까지 '제한시간'분 남았습니다. 
    time_left -= 1 #제한시간은 1분씩 감소한다.

print("코드카타 종료! 답안을 제출하세요.") #제한 시간이 0이되면 "코드카타 종료! 답안을 제출하세요." 라고 실행한다.

for 조건문 vs while 조건문

  • for 조건문은 정해진 반복에 적합
    • 반복할 횟수나 대상이 명확할 때 사용
    • 예시) 이번 주 대상자 명단에 있는 고객에게 프로모션 메일 발송할 때

  • while 조건문은 조건이 참인 동안 계속 반복
    • 언제 끝날지 모르는 상황에서 사용
    • 반복 조건이 만족 되는 한 계속 반복하고 조건이 거짓이 되면 멈춤
    • 예시) 하루 예산이 모두 소진될 때까지 광고 집행 반복

예시) while 반복문

문제 설명

패션 브랜드 A사와 협업을 진행하게 된 당신은, 캠페인 광고를 일정 예산 내에서 집행 횟수만큼 반복해야 합니다.

A사의 요청 조건은 다음과 같습니다:

  • 초기 예산은 52만원
  • 광고 한 번을 집행할 때마다 2만 원의 예산이 소모
  • 광고 예산이 남아 있는 동안은 계속 광고를 집행 (예산 차감 시 메세지를 출력해주세요)
  • 예산이 0원이 되면 즉시 광고를 중단 (광고 중단 시 메세지를 출력해주세요)
budget = 52

while budget > 0:
	print(f"현재 예산: {budget}만원)
    print("광고 집행 중입니다. 예산에서 2만원이 차감됩니다.")
    budget = budget -2 # 부등호(값이 같다)의 역할이 아닌 변수에 값을 저장하는 것의 '='

print(f"현재예산: {budget}만원")
print("예산이 모두 소진되었으므로 광고를 종료합니다.")

오늘의 인사이트

프로그래밍 언어를 바탕으로 생각하는 걸 많이 해야겠다.
코드를 풀고 주석으로 풀이를 달고 다시 주석만 보고 코드를 풀어보는 연습을 많이 해야겠다.

profile
공부를 위해 기록하는 공간

0개의 댓글