[2025.12.17] 오늘의 학습 키워드 - 파이썬 기초 알고리즘

허진원·2025년 12월 17일

내일배움캠프 TIL

목록 보기
38/41
post-thumbnail
  1. 오늘 학습 키워드
    파이썬 - 논리 연산, for 반복문, while 반복문
  1. 학습한 내용을 나만의 언어로 정리하기
    파이썬을 공부하면서 상당히 어렵게 느껴지던 반복문을 복습했다.

반복문은 파이썬을 다루면서 굉장히 자주 사용하게 되는 문법 중 하나이다. 필연적으로 여 부분을 집중해서 공부할 수 밖에 없다. 문제는 반복문의 조건식을 작성하는 것이 상당히 헷갈린다는 점이다.

이번 복습을 통해서 조건식을 적절하게 작성하는 방법을 익히고자 했다. 다행히도 복습을 진행하고 있는 사이트는 아주 친절하게 순서대로 잘 설명해주고 있다. 해당 사이트의 과정을 잘 따라가기만 하면 될 듯하다.

  1. 학습 내용

📘 논리 연산

파이썬에서 논리 연산을 활용하는 방법


🔹 기본 논리식

  • 비교 연산자(==, !=, <, <=, >, >=)를 통해 True/False 값을 얻는다.
  • 예: 3*2 < 17-9 → True, 5 == 4+1 → True.

🔹 논리 연산자

  • and, or, not 세 가지 연산자 제공.
  • 우선순위: not > and > or.
  • 단축 평가(short-circuit evaluation):
    • x and y: x가 False면 y는 평가하지 않음.
    • x or y: x가 True면 y는 평가하지 않음.

🔹 if 조건문과 논리식

  • if ... elif ... else ... 구조로 여러 조건 처리.
  • 중첩 조건문 대신 and, or 활용 가능.
  • 예: if 0 < x < 10: → x가 0보다 크고 10보다 작은 경우.

🔹 자동 형변환

  • 0, None, '', [] → False로 처리.
  • 그 외 값은 True로 간주.

🔹 주요 예제

  1. 논리식 차이 확인: 괄호 위치에 따라 결과 달라짐.
  2. 최댓값 찾기: 세 정수 중 가장 큰 값 판별.
  3. 배수 여부 확인: x % y == 0 활용.
  4. 오류 발생 예시: False or 3/0 → ZeroDivisionError.
  5. 논리식 참/거짓 관계 증명.
  6. 윤년 판별 코드: %400, %100, %4 조건 활용.
  7. 삼각형 가능 여부: 세 변 길이 조건 검사.
  8. 타일 계산 문제: 바닥을 덮는 타일 개수 계산.

🔹 대표 연습문제

x=int(input("첫째 정수: "))
y=int(input("둘째 정수: "))

differ = (x != y)

if differ == True:
    print("두 값이 다릅니다.")
else:
    print("두 값이 같습니다.")


👉 핵심 메시지:
논리 연산자와 조건문을 결합해 프로그램 흐름을 제어
다양한 실습 예제를 통한 파이썬 논리식의 작동 원리와 주의사항 시연


📘 for 반복문

파이썬의 for 반복문을 중심으로, 다양한 활용법과 예제를 통해 반복 구조를 설명


🔹 기본 개념

  • 반복문 종류: for, while, 재귀 함수 (여기서는 for 반복문 설명).
  • 동작 방식: 리스트나 문자열의 항목을 차례대로 변수에 할당 → 본문 실행 → 다음 항목으로 이동 → 끝까지 반복.

🔹 주요 활용

  • 리스트와 for: 리스트 항목 출력, 합계 계산.
  • 변수 업데이트: x = x + 1 대신 x += 1 같은 간편 표기.
  • range() 함수:
    • range(n) → 0부터 n-1까지.
    • range(start, end, step) → 시작, 끝, 보폭 지정 가능.
    • 음수 보폭도 가능 (역순 반복).
  • 문자열과 for: 문자열의 각 문자 순회 가능.

🔹 반복 제어

  • continue: 현재 반복을 건너뛰고 다음 반복으로 이동.
  • break: 반복문 즉시 종료.
  • 영향 범위: 해당 반복문에만 적용.

🔹 주요 예제

  1. 배수 판별: 3의 배수 제외 출력, 3 또는 7의 배수 출력.
  2. 홀수 합 계산: 조건문과 반복문 결합.
  3. 소수 판별: 나눗셈을 통해 소수 여부 확인.
  4. 구구단 출력: 입력값의 배수 단만 출력 (continue, break 활용).
  5. 369 게임: 3의 배수 또는 일의 자리 3 → "짝" 출력.

🔹 대표 연습문제

  • 11 ~ 20까지의 정수 중 '2의 배수' & '4의 배수가 아닌 수' 모두 출력
for i in range(11,21):
    if i%2==0 and i%4!=0:
        print(i)


👉 핵심 메시지:
for 반복문을 이용해 리스트, 문자열, range() 등 다양한 자료형을 순회
실습 예제를 통한 조건문·제어문과 결합해 프로그램 흐름을 제어하는 방법 시연


📘 while 반복문

파이썬의 while 반복문을 중심으로, 조건이 참인 동안 명령문을 반복 실행하는 구조와 다양한 활용법을 설명


🔹 기본 개념

  • 형식:
while 조건식:
    명령문
  • 조건식이 True인 동안 반복 실행.
  • 반복 횟수를 미리 알 수 없을 때 주로 사용.

🔹 주요 활용

  • 수 맞히기 게임: 정답을 맞출 때까지 입력을 반복.
  • 리스트와 while: 인덱스를 직접 관리하며 리스트 항목 순회.
  • continue / break:
    • continue: 현재 반복 건너뛰고 처음으로 돌아감.
    • break: 반복문 즉시 종료.
  • 무한 반복: while True: 구조로 게임 루프 등에 활용, 종료 조건은 break로 제어.

🔹 주요 예제

  1. 리스트 합계: 인덱스를 증가시키며 항목 누적.
  2. 3의 배수 판별: continue로 특정 경우 건너뛰기.
  3. 소수 판별: 중첩 반복문과 break 활용.
  4. 구구단 출력: 입력값에 따른 단 출력.
  5. 무한 입력: '중지' 입력 시 종료.
  6. 거북이 경주 게임: while True로 진행, 승자가 나오면 break.

🔹 대표 연습문제

  • 수 맞히기 게임
import random

secret = random.randint(1, 100)

print("수 알아맞히기 게임에 환영합니다.")

guess = int(input("1부터 100 사이의 정수 하나를 입력하세요.: "))

while guess != secret:
    if guess > secret:
        print("너무 커요!")
    else:
        print("너무 작아요!")
    
    guess = int(input("다시 입력하세요.: "))

print("맞았습니다!")
print("게임 종료!")


👉 핵심 메시지:
조건 기반 반복 실행을 위한 while 문을 설명
continue, break, 무한 반복 등 제어 기법을 통해 예측 불가능한 반복 상황을 처리하는 방법

출처 : 42H: 파이썬 프로그래밍 - https://codingalzi.github.io/42H/intro.html

  1. 학습하며 느낀 점
    여전히 반복문이 어렵게 느껴지긴 하지만, 오늘 복습을 하면서 조금이지만 파이썬에 대해서 더욱 잘 이해하게 되었다고 생각한다. 이제 내일부터 심화 프로젝트를 진행하게 되는데, 오늘 배우 부분을 십분 활용하여 좋은 결과물을 도출할 수 있도록 노력하겠다.

마치며 : 최근 밤에 잠이 오지 않아서 늦게 자고 만다. 오늘은 부지런히 하루 일과를 마치고 일찍 잠에 들어서 내일부터 시작되는 심화 프로젝트를 최상의 컨디션으로 맞이해야겠다.

profile
국문과 전공 데이터 입문자

0개의 댓글