[이것이 코딩 테스트다 with 파이썬] Part 04. 부록 - APPENDIX A 코딩 테스트를 위한 파이썬 문법(2)

박미진·2022년 7월 31일
0

코딩 테스트

목록 보기
2/9

02. 조건문

1. 조건문

  • 프로그램을 작성할 때 프로그램의 흐름을 제어하는 문법
  • 조건문을 이용하면 조건에 따라서 프로그램의 로직을 설정할 수 있음
예) 어떤 변수의 값이 10이상일 때에 한해서만 변수의 값 출력

x = 15

<입력>
if x >= 10:
	print(x)
    
<출력>
15
  • 파이썬에서 조건문을 작성할 때는 if ~ elif ~ else문을 이용
  • 조건문을 사용할 때 elif or else 부분은 경우에 따라서 사용하지 않아도 됨
if 조건문 1:
	조건문 1이 True일 때 실행되는 코드
    
elif 조건문 2:
  	조건문 1에 해당하지 않고, 조건문 2가 True일 때 실행되는 코드
    
else:
	위의 모든 조건문이 모두 True값이 아닐 때 실행되는 코드
  • if ~ elif ~ else문을 효과적으로 사용할 수 있는 소스코드
<성적구간에 따른 학점정보 출력>
- 성적이 90점 이상일 때 : A
- 성적이 90점 미만, 80점 이상일 때 : B
- 성적이 80점 미만, 70점 이상일 때 : C
- 성적이 70점 미만일 때 : F
-------------------------------------------------------
<입력>
score = 85

if score >= 90:
	print("학점: A")

elif score >= 80:
	print("학점: B")

elif score >= 70:
	print("학점: C")
    
else:
	print("학점: F")

<출력>
학점: B

✓ 조건문을 작성할 때는 코드의 블록(block)을 들여쓰기로 설정한다는 점 기억!!

  • 들여쓰기가 같은 부분은 함께 실행됨
  • 예를 들어 다음 코드에서 ①은 score 변수의 값이 70미만이라면 함께 실행됨 / 마지막줄에 해당하는 코드 ②는 조건문과 상관없이 무조건 실행되는 부분
score = 85

<입력>
if score >= 70:
	print("성적이 70점 이상입니다.")
    if score >= 90:
    	print("우수한 성적입니다.")
else:
	print("성적이 70점 미만입니다.")
    print("조금 더 분발하세요.")  => ①
print("프로그램을 종료합니다.") => ②

<출력>
성적이 70점 이상입니다.
프로그램을 종료합니다.

(1) 비교 연산자

  • 조건문에서는 비교연산자를 자주 사용함
  • 특정한 두 값을 비교할 때 이용할 수 있음

(2) 논리 연산자

  • 2개의 논리 값 사이의 연산을 수행할 때 사용

(3) 파이썬의 기타 연산자

  • in 연산자와 not in 연산자
  • 여러 개의 데이터를 담는 자료형으로 리스트, 튜플, 문자열, 사전과 같은 자료형이 존재
    => 이러한 자료형은 여러 개의 데이터를 담고 있기 때문에 이 때, 자료형 안에 어떠한 값이 존재하는지 확인하는 연산이 필요할 때가 있음
  • 조건문의 값이 참(True)이라고 해도 아무것도 처리하고 싶지 않을 때 pass문을 이용할 수 있음
    예) 코드를 작성하면서 디버깅하는 과정에서 일단 조건문의 형태만 만들어 놓고 조건문을 처리하는 부분은 비워놓고 싶을 때가 있음
score = 85

<입력>
if score >= 80:
	pass # 나중에 작성할 소스코드
else:
	print("성적이 80점 미만입니다.")
    
print("프로그램을 종료합니다.")

<출력>
프로그램을 종료합니다.
  • 실행될 소스코드가 한 줄일 경우, 굳이 줄바꿈을 하지 않고도 간략하게 표현할 수 있음
score = 85

<입력>
if score >= 80: result = "Success"
else: result = "Fail"

<출력>
Success
  • 조건부 표현식을 이용하면 if ~ else문을 한 줄에 작성해 사용할 수 있음
score = 85

<입력>
result = "Success" if score >= 80 else "Fail"
print(result)

<출력>
"Success"
  • 조건부 표현식은 리스트에 있는 원소의 값을 변경해서 또 다른 리스트를 만들고자 할 때 매우 간결하게 사용할 수 있음
예) 리스트에서 특정한 원소의 값만 없앨 때 
<일반적인 형태의 조건문>
a = [1, 2, 3, 4, 5, 5, 5]
remove_set = {3, 5}

result = []
for i in a:
	if i not in remove_set:
    	result.append(i)
        
print(result)

<출력>
[1, 2, 4]

<다음과 같이 간단하게 작성할  있음>
a = [1, 2, 3, 4, 5, 5, 5]
remove_set = {3, 5}

result = [i for i in a if i not in remove_set]

print(result)

<출력>
[1, 2, 4]

✍ 파이썬 조건문 내에서의 부등식

  • 다른 언어와 달리 파이썬은 조건문 안에서 수학의 부등식을 그대로 사용할 수 있음
    예) "x > 0 and x < 20"과 "0 < x < 20"은 같은 결과를 반환
  • 다만, 파이썬이 아닌 대부분의 프로그래밍 언어에서는 단순히 "0 < x < 20"이라고 하면 의도하지 않은 결과가 반환될 수 있음
  • 파이썬에서는 다음의 두 조건문이 동일
# 1
x = 15
if x > 0 and x < 20:
	print("x는 0 초과 20미만의 수입니다.")
    
# 2
x = 15
if 0 < x < 20:
	print("x는 0 초과 20미만의 수입니다.")

<reference(참조)>
나동빈(2020).<이것이 취업을 위한 코딩 테스트다 with 파이썬>.서울: 한빛미디어(주)

0개의 댓글