편집 기록

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

    파이썬 : TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'


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

    def readNumber():
        while True:
            n = int(input("정수를 입력하세요: "))
            if (n >= 2):
                break
            else:
                print("2 이상의 숫자를 입력하세요.")
                continue
    
    def getCountsOfDivisors(n):
        count = 0
    
        for i in range(1, n+1):
            if n % i == 0:
                count += 1
    
        print(count)
    
    def isPrime(n):
        for f in range(2, n-1):
            if n % f == 0:
                print("False")
            else:
                print("True")
    
    
    num = readNumber()
    for t in range (2, num + 1):
        print("정수: " + str(t) + " 약수 개수: " + str(getCountsOfDivisors(t)) + " 소수: " + str(isPrime(t)))
    
    

    이렇게 코드를 짰는데

    Traceback (most recent call last):
      File "C:\Users\Desktop\Desktop\202110943 안세호 실습과제 #07.py", line 28, in <module>
        for t in range (2, num + 1):
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
    

    이런 오류가 떠요 뭐가 문제죠? 이미지 제가 원하는 출력 모습이에요.

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

    파이썬 질문있어요!


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

    def readNumber():
        while True:
            n = int(input("정수를 입력하세요: "))
            if (n >= 2):
                break
            else:
                print("2 이상의 숫자를 입력하세요.")
                continue
    
    def getCountsOfDivisors(n):
        count = 0
    
        for i in range(1, n+1):
            if n % i == 0:
                count += 1
    
        print(count)
    
    def isPrime(n):
        for f in range(2, n-1):
            if n % f == 0:
                print("False")
            else:
                print("True")
    
    
    num = readNumber()
    for t in range (2, num + 1):
        print("정수: " + str(t) + " 약수 개수: " + str(getCountsOfDivisors(t)) + " 소수: " + str(isPrime(t)))
    
    

    이렇게 코드를 짰는데

    Traceback (most recent call last):
      File "C:\Users\Desktop\Desktop\202110943 안세호 실습과제 #07.py", line 28, in <module>
        for t in range (2, num + 1):
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
    

    이런 오류가 떠요 뭐가 문제죠? 이미지 제가 원하는 출력 모습이에요.

  • 프로필 초보자님의 편집
    날짜2021.05.03

    파이썬 질문있어요!


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

    def readNumber():
        while True:
            n = int(input("정수를 입력하세요: "))
            if (n >= 2):
                break
            else:
                print("2 이상의 숫자를 입력하세요.")
                continue
    
    def getCountsOfDivisors(n):
        count = 0
    
        for i in range(1, n+1):
            if n % i == 0:
                count += 1
    
        print(count)
    
    def isPrime(n):
        for f in range(2, n-1):
            if n % f == 0:
                print("False")
            else:
                print("True")
    
    
    num = readNumber()
    for t in range (2, num + 1):
        print("정수: " + str(t) + " 약수 개수: " + str(getCountsOfDivisors(t)) + " 소수: " + str(isPrime(t)))
    
    

    이렇게 코드를 짰는데

    Traceback (most recent call last):
      File "C:\Users\Desktop\Desktop\202110943 안세호 실습과제 #07.py", line 28, in <module>
        for t in range (2, num + 1):
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
    

    이런 오류가 떠요 뭐가 문제죠?

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

    파이썬 질문있어요!


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

    def readNumber():
        while True:
            n = int(input("정수를 입력하세요: "))
            if (n >= 2):
                break
            else:
                print("2 이상의 숫자를 입력하세요.")
                continue
    
    def getCountsOfDivisors(n):
        count = 0
    
        for i in range(1, n+1):
            if n % i == 0:
                count += 1
    
        print(count)
    
    def isPrime(n):
        for f in range(2, n-1):
            if n % f == 0:
                print("False")
            else:
                print("True")
    
    
    num = readNumber()
    for t in range (2, num + 1):
        print("정수: " + str(t) + " 약수 개수: " + str(getCountsOfDivisors(t)) + " 소수: " + str(isPrime(t)))
    

    이렇게 코드를 짰는데

    Traceback (most recent call last): File "C:\Users\Desktop\Desktop\202110943 안세호 실습과제 #07.py", line 28, in for t in range (2, num + 1): TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

    이런 오류가 떠요 뭐가 문제죠?