편집 기록

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

    파이썬 재귀함수 팩토리얼 값


    def fact(n):
        if n==1:
            print('fact (',n,') 함수호출! ')
            return 1,print('fact (',n,')값 ',1,'반환')
        else:
            print('fact (',n,') 함수호출!! ')
            return n*fact(n-1),print('fact (',n,')값 반환')
    
    def ckeck(n):
        if n==1:
            return 1
        else:
            return n*ckeck(n-1)
    
    a=int(input('정수를 입력하세요: '))
    fact(a)
    
    print(a,'의 팩토리얼 값은',ckeck(a),'입니다')
    

    이렇게 코드를 짲는데

    fact ( 3 ) 함수호출!! 
    fact ( 2 ) 함수호출!! 
    fact ( 1 ) 함수호출! 
    fact ( 1 )값  1 반환
    fact ( 2 )값 2반환
    fact ( 3 )값 6 반환
    3 의 팩토리얼 값은 6 입니다
    

    이렇게 출력하고 싶습니다. 도와주세요 도저히 값 반환 사이에 뭘 넣어야 할지 모르겠어요. 고수님들 도와주세요.

  • 프로필 galehappy님의 편집
    날짜2022.06.30

    파이썬 재귀함수 팩토리얼 값


    def fact(n):
        if n==1:
            print('fact (',n,') 함수호출! ')
            return 1,print('fact (',n,')값 ',1,'반환')
        else:
            print('fact (',n,') 함수호출!! ')
            return n*fact(n-1),print('fact (',n,')값 반환')
    
    def ckeck(n):
        if n==1:
            return 1
        else:
            return n*ckeck(n-1)
    
    a=int(input('정수를 입력하세요: '))
    fact(a)
    
    print(a,'의 팩토리얼 값은',ckeck(a),'입니다')
    

    이렇게 코드를 짲는데 fact ( 3 ) 함수호출!! fact ( 2 ) 함수호출!! fact ( 1 ) 함수호출! fact ( 1 )값 1 반환 fact ( 2 )값 2반환 fact ( 3 )값 6 반환 3 의 팩토리얼 값은 6 입니다

    이렇게 출력하고 싶습니다. 도와주세요 도저히 값 반환 사이에 뭘 넣어야 할지 모르겠어요,, 고수님들 도와주세요....