프로그래밍/파이썬(Python)

코드카데미 파이썬(Codecademy Python) 강좌 - 소수인지 확인하기(is_prime)

&+&& 2015. 11. 16. 16:30

  안녕하세요. 춘삼이의 블로그입니다.

  코드카데미 파이썬(Codecademy Python) 강좌 해설 5번째 시간입니다. 이번 문제는 반복문 챕터의 [연습이 최고를 만든다]에 5번째 문제 [소수인지 확인하기(is_prime)] 입니다.

  정수 x를 입력값으로 하는 함수 is_prime을 만들고 정수 x가 소수라면 True, 소수가 아니라면 False를 반납하도록 구현하면 됩니다.

  - 주의사항으로 2보다 작은 경우에는 소수가 아니라고 알려주고 있습니다.

  일단 완성된 코드는 아래와 같구요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def is_prime(x):             # x를 입력값으로 갖는 is_prime 함수 생성
    if x < 2:                # x가 2보다 작은 경우 False를 반환
        return False         
    elif x == 2:             # x가 2인 경우에는 True를 반환
        return True          
    else:                   
        for i in range(2,x): # 2부터 x까지 범위를 반복 연산
            if x % i == 0:   # x를 i로 나누어 나머지가 0이되는 경우 소수가 아님
                return False # False를 반환

    return True
    
x=raw_input("Enter Number : "# 인자 x의 값을 사용자로부터 입력
            
print str(is_prime(int(x)))    # is_prime을 호출하고 결과값을 출력
cs


  - 13열 이하로는 없어도 문제는 패스입니다. 

  - 12열 : raw_input은 콘솔상에 질의하고자 하는 문자열을 출력하고 사용자 입력값을 반환하는 함수입니다.

  - 2-3열 : x가 2보다 작은 경우에는 무조건 소수가 아닙니다. False 반환

  - 4-5열 : x가 2인 경우에는 무조건 소수입니다. True 반환

  - 7열-9열 : 2부터 x까지의 범위에서 i를 증가시키면서 x를 i로 나눈값이 0인지 점검하여 0과 같다면 False를 반환합니다.

  - 11열 : 위의 if문을 거치는 동안 True, False를 반환하지 않았다면 그 수는 소수이므로 True를 반환합니다.




  전 갑자기 소수가 나오길래 순간 당황했네요. 아마 이 글 보시는 분들은 쉽게 풀 수 있는 문제였을 듯 합니다.