함수의 리턴값을 받아서 화면에 띄우고 싶은데 none 이라고 나옵니다

조회수 1229회
print("1부터 100까지 7의 배수를 출력 하겠습니다")
a = 0
def seven_cal (*args):
   global a
   result = [ ]
   for x  in range(1,101):
      a = 1
      a = a + 1
      if a %7 == 0:
           result.append(a)
           return result
           print(result)
seven_cal()

이미지

이제 여기서 계속 none 이라고 값이 뜹니다. 무엇이 문제일까요?

  • 파이썬에 포인터가 있었네요? noah0508 2021.4.9 08:00

1 답변

  • 코드의 상태를 봤을 때, 파이썬 공부를 막 입문했다기보다는 이런게 필요해서 대충 찾아서 만들어본 것 같습니다.

    코드를 봤을 때 일단 여기저기서 찾아본 내용들을 짜집기한 것으로 보이는데요.

    전혀 맞지 않는 내용의 코드를 짜집기하셨습니다.

    코딩에 대해 조금만 공부하셨다면 하지 않았을 방식으로 코드를 구성하셨는데, 이걸 스스로 해결해보고 싶다면 인터넷이 되었든 책이 되었든 무언가 도움이 될만한 것을 찾아 공부해보시는게 좋을 겁니다.

    단순히 7의 배수가 나올 때마다 그 숫자만 출력하고 싶다면 코드는 다음과 같이 구성되어야 합니다.

    print("1부터 100까지 7의 배수를 출력 하겠습니다")
    def seven_cal ():
        for a in range(1,101):
            if a %7 == 0:
                print(a)
    
    seven_cal()
    
    >> 7
    14
    21
    28
    35
    42
    49
    56
    63
    70
    77
    84
    91
    98
    

    함수에서 7의 배수를 찾아낸 결과를 종합한 것을 출력하고 싶다면 다음과 같은 방식으로 코드를 구성합니다.

    print("1부터 100까지 7의 배수를 출력 하겠습니다")
    def seven_cal ():
        result = []
        for a in range(1,101):
            if a %7 == 0:
                result.append(a)
        return result
    
    b = seven_cal()
    print(b)
    
    >> [7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]
    

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

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

(ಠ_ಠ)
(ಠ‿ಠ)