일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- python
- 코스모에듀벤처
- 코스모에듀밴처
- 입출력 함수
- 자료구조
- 파이썬 강좌
- 편집기
- 자료형
- 변수 활용
- 파이썬 문법
- 슬라이싱(slicing)
- Indentation Error
- python -m
- cosmoeduventure
- PIP
- pip uninstall
- pip install
- parameter
- input 사용법
- pip --help
- 파이썬 프로그래밍
- 조건부 표현식
- 파이썬 기초
- pip 옵션
- 인덱싱(indexing)
- 반복문 사용법
- Today
- Total
아이와 함께 배우는 세상 사는 법
[파이썬 강좌] 6. Python 프로그래밍 기초 : 조건문(Conditional) 본문
[파이썬 강좌] 6. Python 프로그래밍 기초 : 조건문(Conditional)
CosmoEduVenture 2024. 2. 20. 18:25
조건문(Conditional)이란?
조건문이란 어떠한 조건이 주어질 때 조건의 만족 여부에 따라서 선택적으로 프로그램의 흐름을 제어하는 데 사용되며, 아래와 같이 조건의 참, 거짓에 따라 수행할 명령문을 결정하는 구조의 구문입니다.
파이썬에서 조건문은 if - elif (else if) - else 키워드를 사용합니다.
# 조건문 기본 구조
if 조건식:
# 조건식이 참일 때 실행되는 코드
elif 다른조건식:
# 위의 조건이 거짓이고, 이 조건이 참일 때 실행되는 코드
else:
# 위의 모든 조건이 거짓일 때 실행되는 코드
조건문의 특징
- 조건문은 프로그램의 유연성을 높일 수 있고, 다양한 상황에 대응할 수 있다.
- if문을 사용하여 조건을 판단하고, 필요에 따라 elif와 else를 사용하여 여러 경우 수를 판단한다.
주의할 점
- 파이썬에서 들여쓰기는 매우 중요하며, 동일한 블록에 속한 코드는 같은 들여쓰기로 작성되어야 한다.
- 조건문의 조건식은 결과가 항상 참(True) 또는 거짓(False)여야 한다.
if 조건문
- if 키워드 다음의 조건식을 검사하여 참(True)일 경우 해당 조건문 아래의 명령문을 실행합니다.
콜론(:) : 해당 조건문과 수행할 명령문을 구분하는 것으로 해당 조건문의 종속된 코드를 콜론(:) 이후 반드시 들여쓰기하여 코드를 작성합니다.
수행할 명령문 : 조건식이 참이면 실행되는 코드로 콜론(:) 이후 들여쓰기( ) 되어 있습니다.
if 조건문 사용 예제
정수를 입력받아 배수 관계 판단하는 조건문 구조.
num = int(input("정수를 입력하세요 : "))
if num % 2 == 0 :
print("2의 배수입니다.")
사용자 입력 input() 함수로 받은 정수 값 num을 if문의 조건식(num % 2 == 0)에서 판단하여 '2'로 나눈 나머지가 '0'과 같으면 조건식이 참(True)이므로 "2의 배수입니다."를 출력합니다.
if - else 조건문
- 조건식이 참(True)이면 [명령문1]을 실행하고, 거짓(False)이면 else의 [명령문2]를 실행합니다.
else 문은 if문 없이 독립적으로 사용할 수 없습니다.
else 문은 상위 조건이 거짓(False)인 경우 실행되어 별도의 조건식을 작성하지 않습니다.
if - else 조건문 사용 예제
정수를 입력 받아 홀/짝을 판별하는 조건문을 작성할 때 다음과 같이 if문만 사용한 구조와 if-else문을 사용한 구조로 작성할 수 있습니다. 아래 코드의 연산 횟수를 비교하며 보고세요.
# even / odd 판별기
num = int(input("정수를 입력하세요 : "))
# if 조건문 구조
if num % 2 == 0 :
print(f"{num} : 짝수")
if num % 2 == 1 :
print(f"{num} : 홀수")
# if - else 조건문 구조
if num % 2 == 0 :
print(f"{num} : 짝수")
else :
print(f"{num} : 홀수")
if문을 두 번 사용한 구조에서 num의 값이 짝수여도 각각의 조건식을 처리하여 해당 조건식의 참/거짓을 판별합니다.
그러나 if-else문은 num % 2 == 0 조건식만을 판단하여 홀/짝 여부를 판별합니다.
if - elif - else 조건문
- [if-else]만으로 다양한 조건을 판단하기 어려운 경우가 있습니다. 즉, 여러 개의 조건을 판단하여 선택적으로 실행되어야 하는 경우 [elif]를 사용합니다.
elif문은 if문 다음의 조건으로 작성되며, if문과 같이 조건식을 작성하여 합니다.
elif문은 개수의 제한이 없이 사용이 가능하다.(선택 가능한 경우 수가 많을 경우)
elif 문은 상위 조건이 거짓(False)인 경우 해당 조건식을 판별합니다.
if - elif - else 조건문 사용 예제
미세먼지 농도에 따라 좋음, 보통, 나쁨, 매우 나쁨을 분류할 수 있도록 다음과 같이 조건문을 작성하고 현재 지역의 미세먼지 농도를 검색하여 입력 후 결과를 확인해 보세요.
dust = int(input("미세먼지 농도를 입력하세요 : "))
if dust >= 0 and dust <= 30 :
print("좋음")
elif dust >= 31 and dust <= 80 :
print("보통")
elif dust >= 81 and dust <= 150 :
print("나쁨")
elif dust >= 151 :
print("매우 나쁨")
else :
print("잘못된 입력 값입니다.")
변수 dust의 값을 조건식으로 판단하여 미세먼지 농도를 출력합니다. 만약 dust의 값이 50이면 if문의 조건식은 거짓(False)이므로 하위 조건문의 조건식(dust >= 31 and dust <= 80)에서 참/거짓을 판단합니다. dust의 값이 50이므로 해당 조건을 만족하여 문자열 "보통"을 출력합니다. 그리고 하위의 나머지 조건은 실행하지 않고 넘어갑니다.
조건문의 다양한 사용법
멤버 연산자 활용
- 파이썬은 in, not in과 같은 멤버 연산자를 제공하고 있습니다.
- 멤버 연산자를 사용하여 다음과 같이 조건식을 작성할 수 있습니다.
x in y : x가 y에 있으면 참(True), 없으면 거짓(False)
x not in y : x가 y에 없으면 참(True), 있으면 거짓(False)
y : 군집형 자료(문자열, 리스트, 튜플, 딕셔너리, 세트)
다음의 예제 코드는 멤버 연산자만 다를 뿐 동일한 코드입니다. 코드를 작성 후 실행하여 결과를 비교하며, 'in'과 'not in'의 차이를 이해하기 바랍니다.
# 멥버 연산자 : in
if 'a' in "python" :
print("True")
else :
print("False")
# 멥버 연산자 : not in
if 'a' not in "python" :
print("True")
else :
print("False")
조건부 표현식(conditional expression)
파이썬은 구조가 간단한 조건문을 한 줄로 간결하게 표현할 수 있습니다.
즉, 조건문을 한 줄의 표현식으로 나타내는 것을 조건부 표현식이라고 합니다.
변수 = {참일 경우 값} if {조건식} else {거짓일 경우 값}
# 홀/짝 판별기
num = int(input("정수를 입력하세요 : "))
# 조건문 구조
if num % 2 == 0:
print('짝수')
else:
print('홀수')
# 조건부 표현식
result = "짝수" if num % 2 == 0 else "홀수"
print(f"{num}은/는 {result}입니다.")
위 예제에서 처럼 홀수, 짝수를 판별하는 if - else 조건문 구조를 간결한 조건부 표현식(conditional expression)을 코드를 작성할 수 있습니다.
함수 활용(any(), all())
for 반복문을 학습 전이기에 all()과 any() 함수를 조건식에서 어떻게 활용되는지만 알아보겠습니다.
all()과 any() 함수는 반복 가능한(iterable) 객체를 인자로 전달하여야 합니다.
all() 함수는 인자로 받은 객체의 모든 요소가 '참' 일 때만 참(True)을 반환하는 함수입니다. 만약 하나라도 거짓이 존재하면 거짓(False)을 반환합니다. 그러나 인자로 빈 리스트와 같은 요소가 존재하지 않는 빈 객체를 전달하면 True를 반환합니다.
any()함수는 인자로 받은 객체의 요소 중 하나라도 '참'이면 참(True)을 반환하고, 모든 요소가 거짓인 경우에만 거짓(False)을 반환합니다. 그러나 all()과 반대로 인자로 빈 리스트와 같은 요소가 존재하지 않는 빈 객체를 전달하면 False를 반환합니다.
numbers = [1, 2, 3, 4, 5]
# 모든 원소가 참인지 검사
if all(num > 0 for num in numbers):
print("모든 숫자는 양수입니다.")
# 하나라도 참인지 검사
if any(num % 2 == 0 for num in numbers):
print("숫자 중에서 짝수가 있습니다.")
all()과 any() 함수 이해하기 예제
empty = "" # 빈 문자열
nums1 = [1,2,3,4,5] # 리스트
nums2 = (0,1,2,3,4) # '0'을 제외한 모든 값들은 True, '0'은 False
# all() 함수 예제
print(all(empty)) # True
print(all(nums1)) # True
print(all(nums2)) # False
# any() 함수 예제
print(any(empty)) # False
print(any(nums1)) # True
print(any(nums2)) # True
'파이썬(python) > 문법(syntax)' 카테고리의 다른 글
[파이썬 강좌] 5. Python 프로그래밍 기초 : 맵핑형 자료형(data type) (0) | 2024.02.19 |
---|---|
[파이썬 강좌] 인덱싱(Indexing)과 슬라이싱(Slicing)의 개념과 사용법 (0) | 2024.02.16 |
[파이썬 강좌] 4. Python 프로그래밍 기초 : 자료형(data type) (1) | 2024.02.15 |
[파이썬 강좌] 3. Python 프로그래밍 기초 : input() 함수 (0) | 2024.01.30 |
[파이썬 강좌] 2. Python 프로그래밍 기초 : print() 함수 : (2) | 2024.01.29 |