• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

함수(실습-3) ex05.py 소수구하는 방법요

22.02.11 15:45 작성 조회수 107

3

실제로 코드 동작시켜서 

예시로 정수에 소수가 아닌 숫자 21을 입력하면 

소수가 맞다고 나오는데 ... 

for문 안에서 입력한 숫자 21%2가 0이아니라 
temp = True가 되고 for문을 더이상 타지않고
True로 Return 되는 것 같습니다..

또한 숫자 2를 입력했을 때도

해당하는 조건이 없어서 None으로 나오는 것 같구요.. 

2에 해당하는 예외처리를 추가하고

이전에 False가 되는 조건이 나오면 소수가 무조건 아니게 되므로 더이상 for문 타지않게 Break문 추가해주고

return 위치를 바꿔서 for문이 계속 동작하도록 수정해봤습니다.

혹시 틀린 부분이 있을까요..?!

def is_prime(num):
    temp = True        
    if(num == 2):
        temp = True
           
    for i in range(2, num):
        if (num%i) == 0:
            temp = False            
            break            
        else:
            temp = True
    return temp

답변 1

답변을 작성해보세요.

0

AJM님의 프로필

AJM

2022.02.11

안녕하세요

지나가던 코린인데요

직접 실행해보니 잘 작동이 됩니다 !