※모든 사진과 자료의 출처는 나동빈 [이것이 취업을 위한 코딩 테스트다] 입니다※
조건문
조건문은 프로그램의 흐름을 제어하는 문법이다.
조건에 따라서 프로그램의 로직 설정한다.
if 키워드를 이용한다
참일 경우 print() 안의 값 출력한다.
들여쓰기
코드의 블록을 들여쓰기로 지정한다.
블록 : 특정 기능 실행 위한 한 단위의 코드 묶음
if가 참일 경우, 같은 들여쓰기를 한 부분이 연달아 실행된다.
들여쓰기를 하지 않은 2번 부분은 무조건 실행된다.
표준은 4개의 스페이스 사용하는 것 추천한다.
조건문의 기본 형태
if ~ elif ~ else
경우에 따라서 elif 혹은 else 부분은 사용하지 않아도 된다.
비교 연산자
특정한 두 값을 비교할 때 이용할 수 있다.
비교 연산자 | 설명 |
X == Y | 서로 같을 때 True |
X != Y | 서로 다를 때 True |
X > Y | X 클 때 True |
X < Y | X 작을 때 True |
X >= Y | X 크거나 같을 때 True |
X <= Y | X 작거나 같을 때 True |
논리 연산자
논리값(True/ False) 사이의 연산 수행할 때 사용한다.
논리 연산자 | 설명 |
X and Y | 모두 참일 때 True |
X or Y | 하나만 참이어도 True |
not X | 거짓일 때 True |
기타 연산자
다수의 데이터를 담는 자료형을 위해 제공된다.
리스트, 튜플, 문자열, 딕셔너리 모두 사용 가능하다.
기타 연산자 | 설명 |
X in 리스트 | 리스트 안에 X가 있을 때 True |
X not in 문자열 | 문자열 안에 X가 없을 때 True |
pass 키워드
아무것도 처리하고 싶지 않을 때 사용한다.
(디버깅 과정에서) 일단 조건문 형태만 만들어 놓고 조건문 처리하는 부분은 비워놓고 싶은 경우
조건문의 간소화
조건문에서 실행될 소스코드가 한 줄일 경우, 줄바꿈 안 하고 간략히 표현한다.
조건부 표현식 if ~ else문을 한 줄에 작성한다.
주의: if가 가운데에 온다.
조건문 내에서의 부등식
조건문 안에서 수학의 부등식 그대로 사용 가능하다.
파이썬에서만 x > 0 and x < 20 과 0 < x < 20 은 같은 의미이다.
이 책에서는 x > 0 and x < 20 부등식 사용한다.
반복문
특정한 소스코드를 반복적으로 실행하고자 할 때 사용하는 문법이다.
while문과 for문이 있다. 둘 다 사용 가능하다.
코딩테스트에서는 for문이 더 간결하다.
<1부터 9까지 모든 정수의 합 구하기>
#반복을 위한 변수 i
i = 1
result = 0
# i가 9보다 작거나 같을 때 아래 코드 반복 실행
while i <= 9;
result += i
i += 1
print(result) ......45
<1부터 9까지 홀수의 합 구하기>
#반복을 위한 변수 i
i = 1
result = 0
# i가 9보다 작거나 같을 때 아래 코드 반복 실행
while i <= 9;
# if문을 사용해서 홀수 일때 조건 추가
if i % 2 == 1;
result += i
i += 1
print(result) ......45
반복문에서 무한 루프
무한 루프란 끊임 없이 반복되는 반복 구문이다.
프로그램이 종료되지 않는다.
코딩 테스트에서는 무한루프 X
반복문 작성 뒤 항상! 반복문 탈출 가능한지 확인한다.
x = 10
while x > 5;
print(x) (출력)10 10 10 10 10 10 10 ....줄바꿈되서
반복문 : for문
특정한 변수를 이용하여 in 뒤에 오는 데이터(튜플, 리스트 등)에 포함되어 있는 원소를 첫번째 인덱스부터 차례로 하나씩 방문한다.
array = [1, 2, 3, 4, 5]
for X in array;
print( X ) (출력) 1 2 3 4 5 ....줄바꿈되서
for문에서 연속적인 값을 차례대로 순회할 때는 range()를 주로 사용한다.
range( 시작값, 끝값+1 ) 형태이다.
인자를 하나만 넣으면 자동으로 시작값은 0이다.
result = 0
# i는 1부터 9까지의 모든 값을 순회
for i in range(1, 10)
result += i
print(result) (출력) 45
continue 키워드
반복문에서 남은 코드의 실행을 건너뛰고, 다음 반복을 진행하고자 할 때 사용한다.
result = 0
for i in range(1, 10);
if i % 2 == 0; # 짝수일 때는 뒤부분 건너 뛴다
continue
result += i
print( result ) (출력) 25
break 키워드
반복문을 즉시 탈출하고자 할 때 break 사용한다.
i = 1
while True; # 무조건 반복문이 실행하게 만들었다.
print( "현재 i의 값:", i )
if i == 5; # i가 5 되었을 때 탈출한다.
break
i += 1
(출력)
현재 i의 값 : 1
현재 i의 값 : 2
현재 i의 값 : 3
현재 i의 값 : 4
현재 i의 값 : 5
합격 여부 판단 예제 1) 점수가 80점만 넘으면 합격
score = [90, 85, 77, 65, 97]
for i in range(5); # i를 0~4까지 증가시키면서 각각의 인덱스에 접근한다
if scores[ i ] >=80;
print( i+1, "번 학생은 합격입니다." )
합격 여부 판단 예제 2) 특정 번호의 학생은 제외하기
score = [90, 85, 77, 65, 97]
cheating_student_list = { 2, 4 } #변수에 별도로 번호값 저장
for i in range(5);
if i +1 in cheating_student_list; #특정 값의 학생들은 제외한다, 바로 다음 번호로 넘어간다
continue
if scores[ i ] >= 80;
print( i+1, "번 학생은 합격입니다." )
중첩된 반복문 : 구구단 예제
i가 2~9까지 반복될 동안
j가 1~9까지 내부적으로 반복된다.
총 72번 출력된다.
for i in range( 2, 10 );
for j in range( 1,10 );
print( i, "X", j, "=", i*j )
print()
'Python' 카테고리의 다른 글
이코테 : DFS/ BFS - 그래프 탐색 알고리즘 (Python) (0) | 2020.11.15 |
---|---|
이코테 : Python 문법 - 5. 실전에서 유용한 표준 라이브러리 (0) | 2020.11.11 |
이코테 : Python 문법 -4. 함수와 람다 표현식 (0) | 2020.11.11 |
이코테 : Python 문법 -2. 입출력 (0) | 2020.11.10 |
이코테 : Python 문법 -1. 자료형 (수, 리스트, 문자열, 튜플, 사전, 집합) (0) | 2020.11.07 |