파이썬 : 출력에서 정수가 2, 3일 때 소수 함수 값이 None으로 뜨는 문제

조회수 530회

2이상의 정수를 입력 받아 2부터 n까지 정수들의 약수의 개수와 소수를 출력하는 프로그램을 만들어야 하는데, 출력부분에서 막혀요..

def readNumber():
    while True:
        n = int(input("정수를 입력하세요: "))
        if (n >= 2):
            break
        else:
            print("2 이상의 숫자를 입력하세요.")
            continue
    return n

def getCountsOfDivisors(n):
    count = 0

    for i in range(1, n+1):
        if n % i == 0:
            count += 1

    return count

def isPrime(n):
    for f in range(2, n-1):
        if n % f == 0:
            return False
        else:
            return True


num = readNumber()
for t in range (2, num + 1):
    print("정수: " + str(t) + " 약수 개수: " + str(getCountsOfDivisors(t)) + " 소수: " + str(isPrime(t)))

이렇게 코드를 짰는데 출력에서 정수가 2, 3일 때 소수 함수 값이 None으로 뜨는데,

뭐가 문제인지 알 수 있을까요?

이미지

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)