파이썬은 내게 궁금하지만 어렵고 먼 언어였다. 첫 취준 시기에 파이썬을 간단히 배웠지만 정말 기초 수준이었고, 부트캠프 시작 전에는 파이썬 새 파일을 어떻게 생성하는지조차 잊어버린 상태였다.

부트캠프 시작 후 일주일이 지난 지금, 파이썬은 내게 어렵지만 가까운 언어가 되었다. 시작 전엔 한 주만에 파이썬 기초를 뗄 수 있을 거라고 생각하지 못했는데, 지금은 문제 풀이 강의를 들으며 즐겁게 코딩해나가고 있는 게 신기하고 뜻깊다.

요 며칠 공부를 제대로 하지 못한 날이 많아서, 주말은 물론이고 새벽까지 공부를 이어 나가고 있다. 그래서 월요일에는 아슬하게나마 진도를 따라가고 있다.

정신없는 와중에도 내가 푼 것과 다른 방식으로 강의에서 예제를 설명할 때, 그걸 추가로 배워 나가는 일이 즐겁다. 다만 수학적 사고를 한지 오랜 시간이 지나 문제 하나를 이해하는 데에도 꽤 시간이 걸리는 점이 아쉽다.


첫 사진은 내가 푼 방식과 강의 문제 풀이 해설이 정말 달랐던 문제 😊





조건식

어떤 조건에 따라 실행이 분기되는 식
⇒ A if 조건식 else B: 조건식 결과가 True이면 A 실행, False이면 B 실행

#ex
numResult = True if num1 > num2 else False
  1. if ~ else가 기본 형태
  2. 조건문을 if ~ else 사이에 삽입
  3. True일 경우 실행될 사항을 if 앞에, False일 경우 실행될 사항을 else 뒤에 삽입

cf. 조건문 중간에 엔터를 치면 역슬래시()와 함께 개행. 역슬래시는 이어지는 수식임을 표시.

+ operator 모듈을 사용하면 더 간편하고 효율적으로 코딩을 진행할 수 있다.

제어문

제어문이란? 프로그램을 제어하는 구분으로, 조건문과 반복문으로 구분된다.

  • : (콜론)의 경우 조건식 종료, 실행문 시작을 나타낸다.
    (개인적으로 내 코딩 오류의 50% 이상 비중을 차지한다. 😂)
  • 반복문 사용 시 실행문에는 코드블록을 사용한다. (: 콜론으로 반복문과 실행문 구분)
    • tap하여 들여쓰기 → 코드블럭 작성
  • pass 키워드: pass 키워드를 삽입하면 조건문이나 실행문이 빈칸이어도 오류가 나지 않는다.

IF문 (단일 조건문)

if문: True일 경우 실행, False일 경우 미실행

if~else문 (양자택일 조건문)

if~else문: 조건식 결과에 따라 둘 중 하나가 실행

조건식(삼항연산자)의 사용법

삼항연산자 ⊃ if~else문
- 모든 조건식 (삼항연산자)은 if~else문으로 변경 가능하다.
- 모든 if~else문이 삼항연산자로 변경 가능한 것은 아니다.

result = '가능' if userPoint >= minAblePoint else '불가능'
print ('포인트 사용 가능 여부: {}'.format(result))
print('포인트 사용 가능') if userPoint >= minAblePoint else print('포인트 사용 불가')

* =>
if userPoint >= minAblePoint:
	print('포인트 사용 가능')
else:
	print('포인트 사용 불가')

if~elif문

여러 가지 조건식 결과에 따라 실행문 결정

  • if~ elif~ elif~ (…) ~else문으로 구성
    • else 이후 조건은 생략 가능하다.
  • 상단 elif문 조건이 만족되었을 경우 하단 elif문은 실행하지 않는다.
  • 조건식 코딩 시 유의: 논리 에러가 발생할 수 있다.
    • 범위가 작은 것 → 큰 것 순서로 코딩
    • 조건 범위 명시: 순서와 무관

중첩 조건문

조건문 내 또 다른 조건문을 선언

  • (* 단, 코딩 오류 방지를 위해 통상 2~3가지 중첩 조건문까지만 사용한다.)

반복문

반복문이란?

  • 반복문이란? 특정 실행을 반복하는 것.
  • 반복문을 사용하면 프로그램이 간결해지고, 유지/보수가 쉽다.
  • 반복문(for문) 종료 후 실행문 시작 시 코드블록으로 구분한다.

횟수에 의한 반복 (for~in 구문)

for i in range (횟수): # :(콜론) 반복문 종료 선언, 실행문 시작
	print('i -> {}'.format(i))
	조건식이 false가 되는 경우 (조건 관련 실행문)

startNum = int(input('반복 시작 입력: '))
endNum = int(input('반복 종료 입력: '))

for i in range (startNum, (endNum+1)) #종료 번호 +1. input 구문 끝에서 +1 해도 실행 가능
	print (i)
  • range(반복횟수)의 경우 (시작, 끝, 단계)로 기재
    • 시작: 0부터 시작 (생략시 0, 반복 횟수 필요 시 필수 기재)
    • 끝: (끝-1)회까지 실행
    • 반복: 증가 숫자 기재 (생략시 1)

조건에 의한 반복 (while문)


while 조건식:
	실행문
	조건식이 false가 되는 경우 (조건 관련 실행문)
# 조건식이 false가 되는 경우를 생략할 시 무한루프 발생

# num이 20이 될 때까지 1씩 증가한다.
num = 0
while (num < 20):
	print('num -> {}. format(num))
	num +=1

for~in 구문과 while 구문의 구분

  • 횟수의 반복일 경우 for문이 간략하다.
  • 조건 반복일 경우 while문이 적합하다.

무한 루프 (반복문을 빠져나올 수 없는 경우)

  • while문에서 조건식의 결과가 항상 True인 경우 무한으로 반복한다.
  • 조건식에 논리형 데이터를 사용하여 무한 반복 실행하여 무한 루프를 활용할 수 있다. (▼)
flag = True
num = 0
sum = 0

while flag:
	num += 1
	sum += num
	print(f'{num}까지의 합 {sum}')

	if sum >= 1000:
	flag = False    #flag가 False가 되며 루프가 종료된다.


반복문 제어와 종료

반복문 제어 (continue)

  • 반복실행 중 continue를 만나면 다음 반복 실행문으로 넘어간다.
  • 실행문 내 else의 실행문은 반복문 종료 후 실행된다. (반복문의 모든 실행문이 종료된 후 실행)

반복문 종료 (break)

  • break로 중단되면 반복문 코드블럭 내 작성된 else 실행문도 미실행된다.
    • break: 실행문 정지, 다음 코드 미실행
      • 반대 개념 continue: 오류 발생 시에도 해당 반복을 skip하고 진행
sum = 0
searchNum = 0

for i in range (100):
	sum += 1

	if sum > 100:
		searchNum = i
		break #반복문 종료

0개의 댓글