편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.05.03

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


    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으로 뜨는데,

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

    이미지

  • 프로필 알 수 없는 사용자님의 편집
    날짜2021.05.03

    파이썬 아래 글 추가 질문이요!


    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으로 뜨는데,

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

    이미지