본문 바로가기
삼정KPMG Future Academy/Python

2주차 - Day 3. Python 기초 (Tuples, sets, comparison and logical operators, if statements, loops)

by _이유 2025. 10. 1.

<6.b 실습 - Tuples and sets>

변수

  • 자료를 저장하는 메모리 공간을 시결함

자료의 타입

  • 기본자료형
    • 문자형(str)
    • 정수형(int)
    • 실수형(float)
  • 컨테이너 자료형
    • 하나의 변수가 여러개의 자료를 식별할 수 있음
      • list: index 참조
      • dict: key 참조
      • tuple: index 참조. 요소 수정불가
      • sets: 값의 중복을 허용하지 않음
  • 변수
    • 변수는 숫자로 시작 안됨. 문자로 시작
    • 특수문자 안됨. _aaa는 가능 (underscore)
    • 두 단어가 연결될 때는 num_count (스네이크 표기법)
    • numCount ← 카멜표기법: 함수명에 사용
    • NumCount ← 카멜표기법: 클래스에 사용
  • ex) 다음처럼 출력하세요.
    • Hello Chanel, you are 26 years old!
my_tuple = ("Chanel", 26)
f"Hello {my_tuple[0]}, you are {my_tuple[1]} years old!"

⇒ 파이썬의 'f': f-string이라는 문자열 포맷팅 기법을의미. 문자열 앞에 f 또는 F를 붙이고 중괄호{} 안에 변수나 표현식을 넣어 간편하게 값을 문자열에 삽입하는 방


<7.a 강의 - Comparison and logical operators and if statements>

Comparison Operators (비교연산자)

  • 컴퓨터가 판단하게 할 때 사용
연산자 기호 의미 사용 예
== x와 y가 같은가? x==y
!= x와 y가 다른가? x!=y
> x가 y보다 큰가? x>y
< x가 y보다 작은가? x<y
>= x가 y보다 크거나 같은가? x>=y
<= x가 y보다 작거나 같은가? x<=y

 

Logical Operators (논리연산자)

  • 종류
    • and : and, &
    • or : or, |
    • not : not, !
  • And 게이트

A B A and B (C)
0 0 0
0 1 0
1 0 0
1 1 1

 

  • OR 게이트

A B A or B (C)
0 0 0
0 1 1
1 0 0
1 1 1

 

  • 여러개의 조합
    • 연산자 우선순위
      data+7>10 and cnt%2==0
      1. data + 7 계산
      2. data + 7 > 10 / cnt%2 == 0
      3. data + 7 > 10 and cnt%2 == 0

Conditional Statements (조건문)

if ~라면, ~한다

  • 조건 + 행동(액션) ⇒ 조건문
  • if 조건(True|False):
    • 행동(실행할 문장)
  • 여러 문장을 수행하는 예제
my_status = 0 # 변수의 초기화
my_size = 7

if my_size > 5: # 비교의 기준 값 5
  print("배가 부릅니다.")
  my_status = 10
else:
  print("더 먹을 수 있습니다.")
  my_status = 3
print(my_status)
print("새로운 문장 시작1")
print("새로운 문장 시작2")
print("새로운 문장 시작3")

 

CPU의 코드 실행 순서

if 조건식:

      파이썬 문장 1

elif 조건식:

      파이썬 문장 2

else:

      파이썬 문장 3

※ 들여쓰기(indentation)이 중요!

apple_cnt = 3
if apple_cnt >= 10:
  print("사과를 구매할 필요 없다")
elif apple_cnt >= 4:
  print("사과를 적정량 유지하고 있다")
elif apple_cnt >= 2:
  print("사과를 구매할 시기입니다")
else:
  print("사과를 구매해야 합니다")

 

Nested 중첩된 조건문

year = 2025
month = 8
day = 31

day=day+1
if day>31:
  month=month+1
  day=1
  if month>12:
    year=year+1
    month=1
print(year, month, day)

 


<8.a 강의 - Loops>

반복문 - Loop

  • For loops
  • Break a loop
  • Continue statement
  • Range
  • While Loops
  • Nested Loops
  • List Comprehension

실행 순서에 대한 문법

  • 반복문
    • for: 데이터 스트럭쳐에 들어 있는 데이터를 하나씩 가져와서 작업을 하고 싶을 때 사용
for x in 반복가능한_자료구조:
	print(f"값 : {x}")

 

  • 설정한 시간마다 한줄씩 출력
import time
~생략~ (반복문)
	time.sleep(n) *n: 원하는 초
  • 새로운 리스트 만들어서 해당 리스트에 변환된 값 추가하기
    1. 기존 리스트 실행 (or 최상단에 적어두기)
    2. 새로운 리스트(빈 리스트) 초기화
    3. for ~ in ~ 명령문 만들기
    4. 문제에서 원하는 것 식으로 만들어서 print 식 안에 넣기
    5. 빈 리스트 삽입하는 코드 작성
    6. 최종(새 리스트) 출력
      • ex) score_list의 점수들에서 5점씩 뺀 점술 새로운 리스트 new_score_list 만들기
import time
score_list = [98, 45, 77, 64, 56]
new_score_list = []
for x in score_list:
	time.sleep(1)
    print(x-5)
    new_score_list.append(x-5)
print(new_score_list)

 

For loops

  • for loops are used for iterating over a sequence (a list, a tuple, a dictionary, a set or a string).
  • 한번에 하나의 항목만 가져와서 원하는대로 처리
  • 데이터가 나열되어 있는 것들은 for을 통해 쉽게 원하는 값 가져올 수 있음

리스트 데이터를 loop 돌면서 처리

문자열 데이터를 loop 돌면서 처리

리스트 loop

리스트의 인덱스값과, 매칭되어 저장되어있는 값을 함께 출력

fruits = ['apple', 'blueberries', 'mango', 'watermelon']
cnt = 1
for fruit in fruits:
	print(f"과일 정보 => {cnt} : {fruit}"]
    cnt = cnt+1
    
or enumerate() 이용

# enumerate() : 반복문에서 리스트의 각각의 index와 값을 리턴해줌
fruits = ['apple', 'blueberries', 'mango', 'watermelon']
for idx, fruit in enumerate(fruits)
	print(f"과일 정보 => {idx+1} : {fruit}")

 

딕셔너리 데이터를 for look : key

my_phone = {"brand": "Apple", "model": "iPhone 13", "color": "red", "year": 2021}
my_phone.keys()

 

딕셔너리 value 값을 for loop

  • value 이용
my_phone.values()
  • key 이용
my_phone['brand']
for key in my_phone:
	print(my_phone[key])

* print(my_phone[key]): dictionary에서 key를 사용해서 그 key에 해당하는 value를 찾아서 출력하라는 명령문

 

key, value를 tuple로 프린트

  • key와 value 모두 출력하고 싶다면 item() 사용
my_phone = {"brand": "Apple", "model": "iPhone 13", "color": "red", "year": 2021}
for key, val in my_phone.items():
	print(key, val)
print("end")