학습일지

[스나이퍼팩토리] 한컴AI아카데미(26.04.22)

cd-record 2026. 4. 22. 17:33
리뷰

001.ipynb
0.00MB

 

 

 

조건문

 

1. 조건문 (if-elif-else)

특정 조건에 따라 프로그램의 흐름을 바꾸는 가장 기본적인 구조(들여쓰기로 블럭 지정)

score = 85

if score >= 90:
    print("A 학점")
elif score >= 80:
    print("B 학점")  # 이 코드가 실행됨
else:
    print("C 학점 이하")

 

2. 문자열 다루기 (startswith, endswith, split)

문자열의 특성을 파악하거나, 구분자로 나누어 정보를 추출할 때 사용

text = "031-1234-5678"

# 1. 특정 문자로 시작/끝나는지 확인
print(text.startswith("031"))  # True
print(text.endswith("5678"))   # True

# 2. 특정 구분자로 나누기 (결과는 리스트로 반환)
parts = text.split("-")        # ["031", "1234", "5678"]
print(parts[0])                # 031 (지역번호 추출)

 

3. 멤버십 연산자 (in)

데이터가 특정 컬렉션(문자열, 리스트 등) 안에 포함되어 있는지 확인

my_list = ["사과", "바나나", "포도"]

if "사과" in my_list:
    print("사과가 목록에 있습니다.")

 

4. 논리 연산자 (and, or, not)

여러 조건을 결합할 때 사용. (로그인 처리나 복합 조건문에 필수적)

age = 25
has_ticket = True

# and: 두 조건 모두 참일 때
if age >= 20 and has_ticket:
    print("입장 가능합니다.")

# or: 둘 중 하나만 참이어도 참
if age < 10 or age >= 60:
    print("무료 입장 대상입니다.")

 

*파이썬만의 편리한 조건 범위 설정

파이썬은 수학처럼 0 <= temperature < 20과 같이 연속된 범위를 한 번에 쓸 수 있어 매우 편리

temp = 25

# 가독성이 매우 뛰어난 파이썬식 범위 조건문
if 0 <= temp < 20:
    print("쌀쌀함")
elif 20 <= temp < 30:
    print("따뜻함")

 

5. 비교 연산자 (나머지 연산자 포함)

숫자 간의 대소 관계나 배수/짝수 홀수를 판별

num = 7

# % (나머지 연산자): 짝수/홀수 판별에 매우 유용
if num % 2 == 0:
    print("짝수")
else:
    print("홀수")  # 7은 홀수이므로 이 코드가 실행됨

 

 

6. 삼항 연산자

if-else 구문을 한 줄로 짧게 표현하여 코드를 간결하게 만들 때 사용

# [값_참] if [조건] else [값_거짓]
score = 65
result = "합격" if score >= 60 else "불합격"
print(result) #합격

 

반복문

 

1. 반복문이란?

파이썬의 대표적인 반복문은 for문입니다. 정해진 데이터나 횟수만큼 코드를 반복 실행할 때 사용

 

- 기본 사용법

range() 함수는 반복문의 핵심입니다. 숫자의 범위를 지정

  • range(끝) : 0부터 끝-1까지
  • range(시작, 끝) : 시작부터 끝-1까지
  • range(시작, 끝, 증가값) : 시작부터 끝-1까지 증가값만큼 건너뛰며 반복
# 1부터 5까지 출력 (range는 끝 숫자를 포함하지 않음)
for i in range(1, 6):
    print(i, end=" ")

 

 

2. 구구단 출력 (이중 반복문)

반복문 안에 또 다른 반복문을 넣는 것을 이중 반복문이라고 합니다. (구구단은 행과 열의 개념이 필요하기 때문에 이중 반복문을 사용하기에 아주 좋은 예시)

# 2단부터 9단까지 출력
for i in range(2, 10):         # 단수 (2, 3, ... 9)
    for j in range(1, 10):     # 곱해지는 수 (1, 2, ... 9)
        # f-string 포맷팅을 사용하여 깔끔하게 정렬
        print(f"{i} x {j} = {i*j:<2}", end="  ")
    print() # 한 단이 끝나면 줄바꿈

 

 

3. 별 출력하기 (패턴 디자인)

 

  • 기본적인 직각 삼각형
for i in range(1, 6):
    print("*" * i)
  • 정삼각형 (가운데 정렬)
n = 10 # 전체 폭
for i in range(1, n + 1, 2):
    star = "*" * i
    print(f"{star:^{n}}")

 

* for _ in range() => "여기에 무엇이 들어가는지 중요하지 않다"라는 관습적인 약속(변수자체가필요없으면 사용) 

 

4. 반복문 제어 (Continue vs Pass)

반복문의 흐름을 제어하는 두 가지 중요한 명령어입니다.

  • continue: 아래 코드를 건너뛰고 다음 루프로 즉시 이동합니다.
  • pass: 아무것도 하지 않고 다음 구문으로 넘어갑니다. (문법상 빈 공간을 채울 때 사용)
scores = [50, 80]
for s in scores:
    if s < 60:
        continue  # 50은 건너뛰고 바로 80으로 넘어감
    print(f"{s}점 합격!")

 

리스트

 

1. 리스트란?

여러 개의 데이터를 하나의 변수에 담아서 관리할 수 있는 순서가 있는 수정 가능한 목록

 

2. 리스트 기본 특징

  • 순서가 있음: 데이터를 넣은 순서대로 인덱스(번호)가 부여됩니다. (0번부터 시작)
  • 수정 가능: 리스트 안의 값을 추가, 삭제, 변경할 수 있습니다.
  • 다양한 자료형 저장: 숫자, 문자열, 심지어 다른 리스트까지 섞어서 담을 수 있습니다.
fruits = ["사과", "바나나"]
for fruit in fruits:
    print(fruit)  # 리스트 안의 값을 순서대로 출력

 

3. 유용한 리스트 활용 함수

  • enumerate() (인덱스 + 값): 값만 필요한 게 아니라, 몇 번째인지(순번)도 필요할 때
names = ["홍길동", "이순신"]
# start=1은 인덱스를 1부터 시작하겠다는 뜻
for idx, name in enumerate(names, start=1):
    print(f"{idx}번: {name}")
  • zip() (여러 리스트 묶기): 두 개의 리스트를 나란히 묶어서 한꺼번에 처리할 때 유용
names = ["홍길동", "이순신"]
scores = [80, 95]

for name, score in zip(names, scores):
    print(f"{name}님은 {score}점입니다.")

 

 

4. 리스트 내 포함 여부 확인 (in)

리스트 안에 특정 데이터가 있는지 확인하는 방식

numbers = [10, 20, 30]
if 30 in numbers:
    print("30이 리스트에 있습니다.")

 

002.ipynb
0.02MB

 

 

 

 

느낀점

 

오늘까지는 아직 머리속에있던 거라 힘들진 않았다. 다만 이제 클래스, 함수, 라이브러리 등을 들어가면 내가 까먹거나 놓친 부분들이 많기 때문에 어려워질 것이 예상이된다....항상 언어 초반에는 같은 문법 속 배우는 거라 쉬워서 이때 기본을 제대로 다시 다잡고 어려운 부분을 예습하거나 내가 해야하는 부분을 공부해야하겠다는 생각이 든다.

 

 

 

 

 

 

——————————————————————————

본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 (B-log) 리뷰로 작성 되었습니다.