일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 컴퓨터네트워크
- 파이썬 정렬
- data type
- 노개북
- 노마드코더
- OSI7계층모델
- icmp
- 리스트
- CS
- 자료형
- 라우팅
- GIT
- RARP
- IT5분잡학사전
- 쿠키
- 이코테
- 이것이 취업을 위한 코딩테스트다
- 기억장치
- ARP
- 시스템 소프트웨어
- 데이터 통신과 컴퓨터 네트워크
- 데이터통신
- 이것이 취업을 위한 코딩 테스트다
- 컴퓨터 동작방식
- sort()
- DP
- 북클럽
- 파이썬 자료형
- 파이썬 연산자
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
- Today
- Total
뚝딱햄 탈출기
[Python] 조건문 : if elif else 문 본문
이것이 취업을 위한 코딩 테스트다 with 파이썬 - 나동빈 저
APPENDIX A. 코딩 테스트를 위한 파이썬 문법 정리 내용
조건문이란?
프로그램을 작성할 때 프로그램의 흐름을 제어하는 문법으로, 조건문을 이용하면 조건에 따라 프로그램의 로직을 설정할 수 있다.
if ~ elif ~ else 문
파이썬에서 조건문을 작성할 때는 if ~ elif ~ else 문을 이용한다.
elif 혹은 else 부분은 경우에 따라 사용하지 않아도 되며, 조건문이 여러 개 일 경우 elif를 여러 번 사용한다.
if 조건문 1:
조건문 1이 True일 때 실행되는 코드
elif 조건문 2:
조건문 1에 해당하지 않고, 조건문 2가 True일 때 실행되는 코드
else:
위의 모든 조건문이 모두 True가 아닐 때 실행되는 코드
# 성적 구간에 따른 학점 정보 출력하기
# 성적이 90점 이상일 때의 학점은 A, 80점 ~ 89점일 땐 B, 70점 ~ 79점일 땐 C, 70점 미만일 땐 F
score = 85
if score >= 90:
print("학점 : A")
elif score >= 80: # if 문에 해당하지 않을 때 실행되므로 score < 90 and score >= 80 과 같은 의미.
print("학점 : B")
elif score >= 70:
print("학점 : C")
else:
print("학점 : F")
'''
실행 결과
학점 : B
'''
조건문의 값이 참(True)이라고 해도, 아무것도 처리하고 싶지 않다면 pass 문을 이용할 수 있다.
코드를 작성하며 디버깅하는 과정에서 우선적으로 조건문의 형태만 만들어놓고 조건문을 처리하는 부분은 비워놓고 싶을 때 아래와 같이 작성하면 된다.
score = 95
if score >= 90:
pass
else:
print("학점 : F")
print('프로그램을 종료합니다.')
'''
실행결과
프로그램을 종료합니다.
'''
들여쓰기
조건문을 작성할 때는 코드의 블록(Block)을 들여쓰기로 설정하며, 들여쓰기가 같은 부분은 함께 실행한다.
score = 85
if score >= 70:
print('성적이 70점 이상입니다.')
if score >= 90:
print('성적이 우수합니다.')
else: # score < 70 일 때 아래 코드들이 모두 실행됨. (들여쓰기가 같으므로 함께 실행)
print('성적이 70점 미만입니다.')
print('분발하세요.')
print('프로그램을 종료합니다.') # 조건문과 상관없이 무조건 실행되는 부분
'''
실행 결과
성적이 70점 이상입니다.
프로그램을 종료합니다.
'''
파이썬에서 들여쓰기는 스페이스 바를 4번 입력하여 작성하거나, 탭을 사용하여 작성한다. (두 가지 방법 혼용하지 말 것!!)
파이썬 커뮤니티에서는 4개의 공백문자를 사용하는 것이 사실상의 표준이므로 이왕이면 띄어쓰기 4번으로 들여쓰는 습관을 들이기를 추천한다고 한다. (텍스트 대치가 필요해지는 순간이다...
간략하게 작성하기
실행문이 한 줄일 때
조건문에서 실행될 소스코드가 한 줄인 경우, 줄바꿈 없이 아래와 같이 간략하게 표현할 수 있다.
score = 85
if score >= 80: result = "Success"
else: result = "Fail"
조건부 표현식
조건부 표현식을 이용하면 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}
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]
리스트 컴프리헨션에 관한 내용은 아래 포스팅 참조
2023.10.01 - [Programming language/Python] - [Python] 리스트 자료형 List data type
[Python] 리스트 자료형 List data type
이것이 취업을 위한 코딩 테스트다 with 파이썬 - 나동빈 저 APPENDIX A. 코딩 테스트를 위한 파이썬 문법 정리 내용 자료형 (데이터 타입, data type) 종류 수 (Number) 리스트 (List) 문자열 (String) 튜플 (Tupl
hyrmzz1.tistory.com
'Programming language > Python' 카테고리의 다른 글
[Python] 연산자 : 비교 연산자, 논리 연산자 (0) | 2023.10.03 |
---|---|
[Python] 반복문 : while문, for문 (0) | 2023.10.02 |
[Python] 자료형 (데이터 타입, data type) : number, list, string, tuple, dictionary, set (0) | 2023.10.02 |
[Python] 리스트 자료형 List data type : 리스트 컴프리헨션, 인덱싱, 슬라이싱, 리스트 연산, 기타 메서드 (0) | 2023.10.01 |
[Python] 수 자료형 Number data type (0) | 2023.09.30 |