[PYTHON/문제]While Loop

박민하·2022년 5월 28일
0

python 문제

목록 보기
13/49
post-thumbnail

문제

find_smallest_integer_divisor 라는 이름의 함수를 구현해 주세요.
find_smallest_integer_divisor 함수는 하나의 parameter를 받습니다.
Parameter 값은 integer만 주어집니다.
find_smallest_integer_divisor 주어진 parameter 값을 나눌 수 있는 1을 제외한 최소의 양의 정수를 return하여야 합니다.

# 예제:
find_smallest_integer_divisor(15) == 3

정답

def find_smallest_integer_divisor(num): 
  i = 2
  while num % i != 0:
    i += 1
  return i

시행착오

  while문에 대해 잘못 이해하고 있어서 조건문 자체를 잘못 입력했다. 조건이 성립하는 동안 loop가 도는 반복문인데 애초에 처음 한번만 성립하는 조건을 넣은것이다ㅎㅎㅎㅎㅎㅎㅎ

def find_smallest_integer_divisor(num):
  i = 2
  number = 0
  while number - int(number) == 0:
    i += 1
    number = num / i
  return i

  만약 이걸 성립하게 하려면 이렇게 짜야하는데 코드가 더럽다.

def find_smallest_integer_divisor(num): 
  i = 1
  number= 1.1
  while number - int(number) != 0:
    i += 1
    number = num / i
  return i

  while문은 조건이 성립하는 동안 도는거다 주의하자...

profile
backend developer 🐌

0개의 댓글