Goorm 자연어처리 전문가 양성 과정 2기/Python
[파이썬] 05. 반복문, 조건문, 제어문
슈빔멘
2022. 1. 10. 14:53
반복문
while 반복문
while 조건식 :
'조건식이 True일 때 반복할 코드'
예시)
# 1) 초기식
evennumbers = [] #빈 리스트 생성
num = 2
# 2) 조건식
while num <= 30:
#3) 조건변화식
evennumbers.append(num)
num += 2
print(evennumbers)
짝수 구하기
1) 초기식 : 변수를 초기화해주는 식
2) 조건식 : 반복을 진행할지 판단하기 위한 조건식
3) 조건 변화식 : 반복문 실행시마다 변수에 지정된 연산 실행
for 반복문
- 다양한 자료형에 적용할 수 있다
# set, list, str 등 다양하게 활용가능
dic = {"human":"사람", "dog" : "강아지", "carrot" : "당근"}
oddnums = (1, 3, 5, 7, 9)
evennums = [6, 8, 10, 22, 50]
str = "Hello goorm!"
for i in oddnums :
print(i, end = ' ')
# print할 시 변수 프린트 후 whitespace를 바꿀 수 있다 => end = ' '
for i in evennums :
print(i, end = ' ')
for i in str :
print(i , end = ' ')
- 딕셔너리 for문 활용
fruits = {"apple" : "red", "banana" : "yellow", "grape" : "purple", "melon" : "green"}
# 값 접근
for color in fruits.values():
print(color, end = ' ')
# key 접근
for fruit in fruits.keys():
print(fruit, end = ' ')
# 둘 다 한 번에 접근
for fruit, color in fruits.items():
print("%s의 색은 %s" %(fruit, color), end = ', ')
조건문
if - elif - else
- if : 만약 ~ 조건문
- elif : if 다음에 쓰이며, else if (그렇지않고 만약) ~ 조건문
- else: 맨 마지막에 쓰이며, 만약 그렇지않으면
조건문에서의 bool 타입 사용
if "" : #False
print("빈칸")
elif " " : #True
print("공백")
if [1,2,3] : #True
print("리스트")
elif [] : #False
print("빈리스트")
if 0 : #False
print("0")
elif 1 : #True
print("1")
- False인 경우 : "", 0, [] -> 빈 문자열, 0, 빈 리스트
- True인 경우 : " ", 1, [1] => 비지 않은 문자열, 1, 비지 않은 리스트
and, or, not
- 1 <= number <= 10 을 조건으로 걸고 싶다고 하자
=> 이럴 때에는 비교 연산자를 활용해야한다
number = 3
if number >=1 and number <=10 :
print('yes')
=> 비슷하게 원하는 조건에 따라 or, not 등을 사용하면 된다
요소 in 리스트/문자열/튜플
l = [10, 20, 30, 'a', 'b', 'c', "hello"]
if 20 in l :
print("요소가 존재합니다.")
else :
print("요소가 존재하지 않습니다.")
- 리스트, 문자열, 튜플에 찾고자 하는 요소가 있으면 -> True가 되도록 조건문을 짤 수 있다
제어문
break
- 반복문을 중간에 빠져나오고 싶을 때
- 자신을 포함하고 있는 반복문을 종료
wordslist = []
while True :
word = input("단어를 입력하세요. 1 입력시 중단됩니다.:")
if word == "1" :
break
else :
wordslist.append(word)
=> break가 걸린 조건문은 while 반복문에 걸려있다
=> 때문에 조건에 맞으면 속해있는 반복문을 종료함
continue
- break가 반복문을 종료한다면, continue는 반복문의 처음으로 다시 돌아간다는 차이가 있다
nums = []
while True :
num = int(input("숫자를 입력하세요. -1 입력시 중단됩니다.:"))
if num == -1 :
break #반복문 탈출
else :
if num % 2 == 1 :
continue #반복문 맨 처음으로
nums.append(num)
=> continue에 걸리면 다시 반복문의 처음으로, 즉
=> while True: 줄부터 다시 실행된다