1. if문
1-1) if문에 있는 조건의 진리값에 따라 코드의 실행 여부가 결정된다.
참이면 실행 거짓이면 실행하지 않음
for문과 마찬가지로 들여쓰기가 중요하다.
if 조건A:
코드A ## 조건A가 참이면 코드A실행
1-1) 여러 조건을 확인하는 경우
elif(else if의 약자)문을 사용
처음 if문에서 조건이 맞지 않았을 경우 elif문을 검토하고 elif문에서 조건이 맞으면 코드를 실행한다.
if 조건A:
코드A
elif 조건B:
코드B ##조건A가 거짓이고 조건B가 참일때 코드B실행
1-2) 어떠한 조건도 해당하지 않는 경우
모든 조건이 거짓일 때 실행하고 싶은 코드가 있는 경우 else문 사용
if 조건A:
코드A
elif 조건B:
코드B
else:
코드C ## 조건A도 거짓이고 조건B도 거짓인 경우 나머지 경우에 대해 코드C실행
1-3) if문 예시: 학점 계산 코드 만들기
아래의 코드는 80이상은 A, 79~60은 B,... 로 점수를 입력하면 본인의 학점을 계산해준다.
grade = int(input("What is their score? "))
if grade >= 80:
print("A")
elif grade >= 60:
print("B")
elif grade >= 40:
print("C")
elif grade >= 20:
print("D")
else:
print("F")
1-4) ternary operator(삼항 연산자)
한줄로도 조건문을 표현할 수 있다.
(TrueValue) if condition else (FalseValue)
위의 코드는 condition이 True이면 TrueValue를 실행하고 아니면 FalseValue를 실행한다.
아래와 같이 여러개의 조건을 elif를 사용하지 않고 한줄로 표현할 수 있다.
코드A if 조건A else 코드B if 조건B else 코드C
하지만 삼항연산자는 실행하는 코드가 여러줄이면 표현이 불가능하다는 단점이 있다.
또한 사람들이 코드를 이해하는데 있어서 삼항연산자가 더 어렵다.
삼항연산자 예시: 짝수 홀수 판별
# ternary 삼항연산자로 표현
print("Odd!") if int(input()) % 2 else print("Even!")
## 위의 한줄은 아래의 코드와 같은 코드
num = int(input())
if(num%2):
print("Odd!")
else:
print("Even!")
2) 조건문과 반복문
조건문은 반복문에서 상당히 많이 사용되는데 반복문에서 사용하는 예악어 중에 break와 continue가 있다.
2-1) break
break는 실행되면 반복문에서 바로 탈출한다.
for element in iterable:
if condition:
break ## 만약 조건이 맞으면 더이상 반복하지 않고 바로 탈출
2-2) continue
continue는 남은 코드를 실행하지 않고 다시 반복문 첫줄로 돌아간다.
(for문은 객체를 새로 받고, while문은 조건을 다시 확인한다.)
for element in iterable:
if condition:
continue ## 만약 조건이 참이면 코드A를 실행하지 않고 다시 반복문으로 간다.
코드A
2-3) break예시
string = "Hello world"
result = ""
for char in string:
if char == " ": ## 받은 객체문자열이 띄어쓰기 문자열일 경우 반복을 종료한다.
break
result += char
print(result) ## 결국 띄어쓰기가 있기 전까지의 문자열을 출력하는 코드
2-4) continue예시
for i in range(10):
if i % 2: ## i가 홀수면 print(i)를 실행하지 않고 반복문으로 돌아간다.
continue
print(i) ## 결론적으로 짝수만 출력하는 코드
2-5) **주의할 점
break와 continue는 가장 가까이 있는 반복문에만 영향을 준다.
(중첩반복문에서 주의)
예시
for i in range(3):
for j in range(10000):
if j == 1: ## j == 1일 경우 2번째줄 반복문을 탈출한다.
break
print(f"j: {j}")
print(f"i: {i}")
for i in range(3):
for j in range(3):
if i % 2 or j % 2: ## i와 j중에서 홀수가 하나라도 있을 경우 13번째줄을 실행하지 않고 10번줄로 돌아간다
continue
print(f"j: {j}")
print(f"i: {i}")
'💂군대 > KAIST ICT Academy' 카테고리의 다른 글
MO6 - 함수 매개변수와 반환값 (0) | 2024.09.04 |
---|---|
MO5 - 함수의 정의와 호출 (0) | 2024.08.21 |
MO3 - 반복문 (0) | 2024.08.03 |
MO2 - 자료형과 변수 (0) | 2024.07.30 |
MO1 - 파이썬 프로그래밍 개요 (0) | 2024.07.28 |