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: 줄부터 다시 실행된다