반복문
- while
data structure기반이 아닐때 코드블록을 반복할때 사용한다.- 특정 조건문이 True 일때 코드블록을 반복 실행한다.
while <조건문>: <수행할 문장1> <수행할 문장2> <수행할 문장3> ... <수행할 문장N>
number = 0
while number <= 10: #조건을 주고, 이 조건에 맞으면 조건문이 돈다.
print(number)
number += 1
> 0
1
2
3
4
5
6
7
8
9
10
break는 while문을 강제 종료하고 continue는 다음 반복문으로 넘어간다.
number = 0
while number <= 10:
if number == 9:
break
elif number <= 5:
number += 1
continue # 다시 while number <= 10: 로 돌아간다.
else:
print(number)
number += 1
> 6
7
8
if 처럼 while에 else문을 추가할 수 있다.
위에 보이는 continue는 while number <= 10:
로 돌아간다.
find_smallest_integer_divisor
라는 이름의 함수를 구현해 주세요.
find_smallest_integer_divisor
함수는 하나의 parameter를 받습니다.
Parameter 값은 integer만 주어집니다.
find_smallest_integer_divisor
주어진 parameter 값을 나눌 수 있는 1
을 제외한 최소의 양의 정수를 return하여야 합니다.
def find_smallest_integer_divisor(num):
## 아래 코드를 입력해주세요.
i = 2
while num >= i:
if num % i == 0:
return i
i += 1
else:
return 2
짝수는 언제나 정답이 2이니깐 홀수만 생각해주면 됐다.
홀수의 경우만 생각해주면 되는데, num을 i=2 로 나누어서 나머지값이 없을 경우에는 i가 정답이 되고, 안될경우에는 계속 해서 i씩 더해주면서 num과 나누어서 나머지값이 0일 경우에 return을 해서 정답처리를 해준다.
이를 더 간단하게 바꿀 수가 있다.
사실 위에서 while에 걸려있는 조건은 의미 없는 조건이다. 이를 삭제 하고
check_num = 2
while num % check_num != 0:
check_num += 1
return check_num
이런식으로 바꾸어 주면 코드를 더 짧게 바꿀 수 있다.
딕셔너리를 사용한 for 반복문에서는 각 요소의 key 값만 return하고, 그 key 값을 가지고 값을 읽어들이는 구조이다.
- key 값을 loop
values()
함수는 딕셔너리의 value들을 list의 형태로 return 해준다.
items()
을 통해 key,value를 tuple로 return 해준다.