if문
조건에 따라 분기를 위한 문법으로서, 조건을 만족하면(True, 참) 그에 해당하는 수행문이 실행
if 조건문1:
# 조건문 1이 충족 됬을 때, 수행할 내용
elif 조건문2:
# 조건문 2이 충족 됬을 때, 수행할 내용
else
# 위 조건문들을 충족하지 못할 때, 수행할 내용
다음과 같은 종류의 조건의 종류를 사용할 수 있다.
- 비교 연산자
- and / or / not 연산자
- in / not in
비교 연산자
산술적인 비교를 통해 참, 거짓을 구별
비교 연산자 | description |
x < y | x가 y보다 작을 경우 True |
x > y | x가 y보다 클 경우 True |
x == y | x와 y가 같을 경우 True |
x != y | x와 y가 같지 않을 경우 True |
x >= y | x가 y보다 크거나 같을 경우 True |
x <= y | x가 y보다 작거나 같을 경우 True |
x=100
y=99
if x > y:
print('x is bigger than y')
else:
print('x is smaller than y or same')
x is bigger than y
and / or / not 연산자
하나의 조건문에 다수의 조건을 사용하기 위한 연산자
- and의 경우 두 조건 모두 True여야 True
- or의 경우 두 조건 중 하나만 True여도 True
- not의 경우 어떤 조건에 대하여 반전(inverse), 즉 조건이 참이면 False, 거짓이면 True
temp = 40
mode=True
if temp > 30 and mode:
print("Fan on") # temp가 30도 초과이고, Mode가 True여야 동작
else:
print("Fan off")
if not mode:
print("Auto Mode disable")
else:
print("Auto Mode enable")
Fan on
Auto Mode enable
in / not in
파이썬에는 리스트, 튜플, 문자열에 포함되어 있는지 아닌지 판단할 수 있는 in / not in 조건문이 존재한다.
print(1 in [1, 2, 3]) # 리스트
print('a' in ('a', 'b', 'c')) # 튜플
word = 'w'
sentence = 'this is python language' # 문자열
if word in sentence:
print("%c is included in %s" %(word, sentence))
else:
print("%c is not included in %s" %(word, sentence))
True
True
w is not included in this is python language
if 관련 기타 문법
조건부 표현식: 하기의 코드와 같이 여려 줄로 작성된 if/else문을 한 줄의 표현할 수 있다.
구조는 변수 = 조건문이 True인 경우의 value if 조건문 else 조건문이 False인 경우의 value
temp = 35
if temp >= 90:
status = "Over temperature"
else:
status = "Normal temperature"
# 위의 조건문을 다음과 같이 한 줄로 표현할 수 있다.
status = "Grade A" if temp >= 90 else "Normal temperature"
print(status)
Normal temperature
pass: 조건문이 True여도 아무 일도 실행하지 않고 싶을경우 pass 키워드를 사용한다.
grade = 'A'
if grade in ['A', 'B', 'C', 'D']:
pass
else:
print("재수강하십시오.")
반복문(while / for)
반복적인 실행을 위해 반복문인 while 또는 for를 사용
while문
"""
while 조건문:
# 조건문을 만족하는 동안 반복 수행할 내용
"""
count = 10
while count <= 10:
count-=1
if count == 3:
break # 반복문 내부에서 실행 중 반복을 중단하고 나가려면 break 키워드를 사용
if count % 2 == 0:
continue # 반복문 내부에서 이후 실행문을 실행하지 않고 처음 문장으로 돌아가기 위해 continue 키워드 사용
print(count)
9
7
5
for문
for문의 경우 while과 같은 반복문 이지만 다양한 조건 표현을 통해 반복문을 수행할 수 있는 문법이다.
기본적인 문법과 사용은 다음과 같다.
"""
for 변수 in 리스트 or 튜플 or 문자열
# 조건문을 만족하는 동안 반복 수행할 내용
"""
test_words = ['a', 'b', 'c']
for x in test_words:
print(x)
a
b
c
리스트의 요소인 튜플을 다음과 같이 (name, score)로 맵핑하여 for문 조건식의 인자로 사용하는 예시이다.
test_list = [("kim",90), ("lee",70), ("park",30)]
for (name, score) in test_list:
print("%s는 %d점입니다." %(name, score))
kim는 90점입니다.
lee는 70점입니다.
park는 30점입니다.
for문은 while문과 마찬가지로 break, continue문을 사용할 수 있다.
total = 0
num_item = 0
item_price_list=[100, 60, 125, 210, 40, 50, 10]
for item in item_price_list:
total += item
num_item += 1
if(total > 500):
print("%d 번째 아이템 구매 시 예산을 초과합니다." %(num_item))
break
if item < 100:
continue
else:
print("%d 번째 품목의 가격이 100이 초과하므로 팀장의 결재가 필요합니다." %(num_item))
range 함수
파이썬 내장 함수인 range()는 숫자 리스트를 만들어 주는 함수로서 for문과 자주 사용 된다.
하기와 같이 숫자 하나를 인자로 사용하면 0부터 해당 숫자보다 작을 때 까지 리스트를 생성한다.
for i in range(10): # range(10) == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(i)
0
1
2
3
4
5
6
7
8
9
또는 range(start, end+1)와 같이 사용하게 되면 start부터 end까지의 숫자 리스트를 생성해 준다.
total = 0
for i in range(1, 11):
total += i
print(total) # 1부터 10까지의 합
55
다음과 같이 len()과 함께 리스트를 인덱싱할 때에도 주로사용한다.
score = [40, 85, 100, 73, 59]
for i in range(len(score)):
print("%d번째 학생의 점수는 %d입니다." %(i, score[i]))
0번째 학생의 점수는 40입니다.
1번째 학생의 점수는 85입니다.
2번째 학생의 점수는 100입니다.
3번째 학생의 점수는 73입니다.
4번째 학생의 점수는 59입니다.
'Python > 기본문법' 카테고리의 다른 글
Python 기본 문법 정리(5) (0) | 2024.07.17 |
---|---|
Python 기본 문법 정리(4) (0) | 2024.07.17 |
Python 기본 method (0) | 2024.02.17 |
Python 기본 문법 정리(3) (0) | 2024.02.17 |
Python 기본 문법 정리(1) (0) | 2024.02.17 |