조건문
x = 15
if x >= 10:
print(x)
score = 85
if score >= 90:
print("학점: A")
elif score >= 80:
print("학점: B")
elif score >= 70:
print("학점: C")
else:
print("학점: F ")
들여쓰기가 같은 부분은 함께 실행된다.
score = 85
if score >= 70:
print("성적이 70점 이상입니다.")
if score >= 90:
print("우수한 성적입니다.")
else:
print("성적이 70점 미만입니다.")
print("조금 더 분발하세요.")
print("프로그램을 종료합니다.")
비교 연산자
X == Y | X != Y | X > Y | X < Y | X >= Y | X <= Y |
논리 연산자
X and Y | X or Y | not X |
파이썬의 기타 연산자
X in 리스트 | 리스트 안에 X가 들어가 있을 때 참(True)이다. |
X not in 문자열 | 문자열 안에 X가 들어가 있지 않을 때 참(True)이다. |
파이썬에서는 조건문의 값이 참(True)이라고 해도, 아무것도 처리하고 싶지 않을 때 pass 문을 이용할 수 있다.
score = 85
if score >= 80:
pass # 나중에 작성할 소스코드
else:
print("성적이 80점 미만입니다.")
print("프로그램을 종료합니다.")
조건문에서 실행될 소스코드가 한 줄인 경우, 굳이 줄 바꿈을 하지 않고도 간략하게 표현할 수 있다.
score = 85
if score >= 80: result = "Success"
else: result = "Fail"
print(result)
조건부 표현식(Conditional Expression)을 이용하면 if ~ else문을 한 줄에 작성해 사용할 수 있다.
score = 85
result = "Success" if score >= 80 else "Fail"
print(result)
조건부 표현식은 리스트에 있는 원소의 값을 변경해서, 또 다른 리스트를 만들고자 할 때 매우 간결하게 사용할 수 있다. 예를 들어 리스트에서 특정한 원소의 값만을 없앤다고 해보자. 원래 일반적인 형태의 조건문을 이용하면 다음과 같이 작성해야 한다.
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)
이 코드는 다음과 같이 간단하게 작성할 수 있다.
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)
while 문
i = 1
result = 0
# i가 9보다 작거나 같을 때 아래 코드를 반복적으로 실행
while i <= 9:
result += i
i += 1
print(result)
1부터 9까지의 수 중에서 홀수만 더함
i = 1
result = 0
# i가 9보다 작거나 같을 때 아래 코드를 반복적으로 실행
while i <= 9:
if i % 2 == 1:
result += i
i += 1
print(result)
for 문
while 문으로 구현했던, 1부터 9까지의 정수의 합을 구하는 예제를 동일하게 for문으로 작성한 코드이다. for문에서 수를 차례대로 나열할 때는 range()를 주로 쓰는데 range(시작 값, 끝 값 + 1) 형태로 쓰인다.
result = 0
# i는 1부터 9까지의 모든 값을 순회
for i in range(1, 10):
result += i
print(result)
range()의 값으로 하나의 값만을 넣으면, 자동으로 시작 값은 0이 된다. 주로 리스트나 튜플 데이터의 모든 원소를 첫 번째 인덱스부터 방문해야 할 때 이 방법을 사용한다. 리스트의 인덱스는 0부터 출발하기 때문이다.
scores = [90, 85, 77, 65, 97]
for i in range(5):
if scores[i] >= 80:
print(i + 1, "번 학생은 합격입니다.")
반복문 안에서 continue를 만나면 프로그램의 흐름은 반복문의 처음으로 돌아간다.
scores = [90, 85, 77, 65, 97]
cheating_list = {2, 4}
for i in range(5):
if i + 1 in cheating_list:
continue
if scores[i] >= 80:
print(i + 1, "번 학생은 합격입니다.")
반복문은 얼마든지 중첩해서 사용할 수 있다. 아래는 구구단 2단부터 9단까지의 모든 결과를 출력하는 코드이다.
for i in range(2, 10):
for j in range(1, 10):
print(i, "X", j, "=", i * j)
print()
'개발 > Python' 카테고리의 다른 글
입출력 관련 (1) | 2024.01.05 |
---|---|
코테용 파이썬 라이브러리 문법 (1) | 2023.11.12 |
코테용 파이썬 문법 정리3 (0) | 2023.11.09 |
코테용 파이썬 문법 정리 (0) | 2023.11.08 |