(초보)파이썬 def 질문 입니다

조회수 832회

이미지

제가 파이썬 공부를 하는데, 이해가 잘 안되서 질문드립니다.

또 처음하는 질문이라...양식이 이게 맞는지도 모르겠습니다.

def는 이해를 했는데,

result = add_mul('add', 1,2,3,4,5)
result = add_mul('mil', 1,2,3,4,5)

여기서 곱하기랑 더하기가 어떻게 되는지 모르겠어요

제 생각에는 곱하기가

(Result * 1) + (result * 2) + .....

이런식으로 진행된다고 생각을 하는데...

왜 튜플 안의 숫자가 한번에 다 곱해지고, result = 1과 곱해지는건지 모르겠습니다.

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    아래와 같이 reduce 하는 것을 for 를 이용해서 구현한 것 입니다. 수열의 곱셈 파이기호(합은 시그마)를 생각하면 됩니다. 질문상의 코드의 예는 5! 인 겁니다.

    In [7]: result = 1                                                                                                                                                                                                                                                              
    
    In [8]: (((((result * 1) * 2) * 3) * 4) * 5)    # for을 풀면 이렇게 됩니다.                                                                                                                                                                                                                                    
    Out[8]: 120
    
    • 아하! 그러면 튜플은 기본적으로 팩토리얼이라고 생각을 하면 되나요? 물론 덧셈은 팩토리얼이 아니지만, 그런식으로 덧셈이 진행되는 거구요? 장연철 2019.5.7 06:11
    • 튜플과 팩토리얼은 다른겁니다...튜플은 쉽게 변경불가 리스트입니다. *args 로 1,2,3,4,5 가 튜플로 묶여서 전달됩니다. 정영훈 2019.5.7 07:21
    • 아 제가 말한 팩토리얼은 답변자님께서 '5!' 라고 하셔서, 수학기호 Factorial을 말한겁니다! 음 제가 잘 못 이해한거면, 다시 공부해야 겠네용 장연철 2019.5.7 07:35
    • 네 질문상의 코드의 예시는 5!가 맞습니다만 2,4,6,8 이렇게 인자를 넣을 수도 있으니까요. 정영훈 2019.5.7 16:24

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

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

(ಠ_ಠ)
(ಠ‿ಠ)