yon11b

[SK 쉴더스 루키즈] 파이썬 기초 3(조건문, 반복문) 본문

보안/SK 쉴더스 루키즈

[SK 쉴더스 루키즈] 파이썬 기초 3(조건문, 반복문)

yon11b 2026. 3. 5. 14:12
반응형

if문

중첩 if문

짝수 홀수 판별→ %2 ==1

삼항연산자

msg ='pass' if score ≥ 70 else 'fail'

 

if score >= 70:
    msg = 'pass'
else:
    msg = 'fail'

얘랑 똑같은 의미

 

수업 중간 퀴즈~

주석처리로 쓴 건 강사님이 짠 코드.

  1. 난 짝수, 홀수 나눠서 둘다 검사했는데 %2 == %2 로 하면 한 번에 둘다 검사가 가능하다!
  2. 홀+홀 → 짝수 / 짝+짝 → 짝
    두 개 더한 다음 %2 ==0 하면 둘 다 처리가 됨
    다른 사람들 보니까 두 개 빼고 나서 %2==0 이렇게 하기도 함

(a + b) % 2 == 0이나 (a - b) % 2 == 0 같은 방식은 주로 "두 대상의 상태가 같은가(동질성)"를 판별할 때 사용된다.

알고리즘 문제에서 **"두 사람이 같은 팀인가?"**를 따질 때 자주 나옵니다.

1번부터 시작해서 홀수 번호는 A팀, 짝수 번호는 B팀이라고 가정합니다.

이때 "철수(3번)와 영희(7번)는 같은 팀인가?"를 확인할 때:

(3 - 7) % 2 == 0 → 결과는 0 (짝수) → "둘 다 홀수팀(A팀)이라 팀이 같네!"

만약 (3 - 8) % 2라면 결과가 1(홀수)이 되어 **"팀이 다르네!"**라고 바로 알 수 있습니다.

 

if x in [리스트, 튜플, 문자열]
if x not in [리스트, 튜플, 문자열]

while문

 

for문

for 변수 in **리스트**(또는 **튜플, 문자열):** in 안 쪽에는 시퀀스 형식의 데이터가 들어가야 한다.

for 문 마지막에 줄바꿈 없이 하는 법

print('출력문입니다.' end='')

리스트 내부 요소가 2개짜리 묶음이라는 것을 알고 있을 때 변수 2개(n1, n2)를 동시에 사용하는 방법

list_a=[(1,2),(3,4),(5,6),(7,8)]

for n1, n2 in list_a:
	print(n1, n2)     # unpacking / n1=1, n2=2 / n1=3, n2=4 /....

튜플 리스트인 경우 이렇게 출력이 가능하다.

당연히 이중 리스트인 경우에도 가능하다.

 

여러가지 출력 표현방식

1. % 포맷팅을 이용하기

 

2. f-string을 이용하기

 

range(a, b, c)

  • a: 시작 숫자
  • b: 끝 숫자
  • c: step(숫자 사이의 간격)

리스트 컴프리헨션(comprehension) ⇒ 새로운 리스트 생성

-> 리스트 안에 for문 넣기

if 조건문 부분은 생략 가능

for문 여러 개 사용 가능

[표현식 for 항목 in 반복가능객체 if 조건문]
[표현식 for 항목 in 반복가능객체 if 조건문1
			  for 항목 in 반복가능객체 if 조건문2
			  for 항목 in 반복가능객체 if 조건문3
			  for 항목 in 반복가능객체 if 조건문4
			  for 항목 in 반복가능객체 if 조건문5]

예제

a=[1,2,3,4]
result = [num*3 for num in a if num%2==0]

짝수인 것에만 3을 곱하겠다.

가운데, 오른쪽, 왼쪽 순서로 읽으면 됨 → a에 있는 num이, 만약 짝수이면, 3을 곱해라

 

함수

함수를 사용하는 이유는?

  • 반복되는 부분들이 있을 경우 한 묶음으로 묶어 약속된 입력값을 주었을 때 약속된 결과 값을 반환해준다. 라는 형식으로 함수로 작성
  • 코드의 가독성 향상!

함수는 일급 객체(First-class Object)이다. 함수도 숫자나 문자열처럼 똑같은 '데이터'로 취급한다. 는 의미.

  1. 함수를 변수에 대입할 수 있다.(변수가 함수를 가리킴)
  2. 함수를 다른 함수의 인자(Argument)로 전달할 수 있다.
  3. 함수 안에서 함수를 반환(Return)할 수 있다.

리턴값이 없는 경우 None을 리턴함.

728x90