Python - While Loops (model solution)

ryan·2020년 8월 22일
0

나의 뇌 프로세스가 궁금해...

Assignment
find_smallest_integer_divisor 라는 이름의 함수를 구현해 주세요.

find_smallest_integer_divisor 함수는 하나의 parameter를 받습니다.
Parameter 값은 integer만 주어집니다.
find_smallest_integer_divisor 주어진 parameter 값을 나눌 수 있는 1을 제외한 최소의 양의 정수를 리턴하여야 합니다.

예제:

find_smallest_integer_divisor(15) == 3

억지로 맞춘 억지 Solution

My Solution

def find_smallest_integer_divisor(numb):
    i = 2
    while numb <= 10000:
        if numb % i == 0:
            return i
            break
        else:
            i += 1

문제를 전혀 따르지않은 답. 정수 값이 주어지지않았는데, 일부러 주고, 실행했다. 상기해야할 것은, while loop에서 답을 찾게 되면 while loop을 빠져나와서 다음 코드가 실행되는 것. 생각을 왜 이렇게 하는 건지... while 문이 나오니까 if 문을 써야할 것만 같고, break 내용도 나와서 break를 써야할 것 같아서 그 프레임 안에서 빠져나가지못하고 시간 낭비를 많이 했네. 생각을 다양하게 하자.

Model Solution

def find_smallest_integer_divisor(numb):
    i = 2
    while numb % i != 0:
        i += 1
    return i
profile
👨🏻‍💻☕️ 🎹🎵 🐰🎶 🛫📷

0개의 댓글