Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

재귀를 사용하여 중첩 목록의 총합을 찾는 Python 프로그램

<시간/>

재귀 기법을 사용하여 중첩 목록의 총합을 구해야 하는 경우 목록을 매개변수로 사용하는 사용자 정의 방법을 사용합니다.

재귀는 더 큰 문제의 작은 비트의 출력을 계산하고 이러한 비트를 결합하여 더 큰 문제에 대한 솔루션을 제공합니다.

목록은 이기종 값(즉, 정수, 부동 소수점, 문자열 등과 같은 모든 데이터 유형의 데이터)을 저장하는 데 사용할 수 있습니다.

예시

아래는 동일한 데모입니다 -

def recursion_sum(my_list):
   my_total = 0
   for elem in my_list:
      if (type(elem) == type([])):
         my_total = my_total + recursion_sum(elem)
      else:
         my_total = my_total + elem
   return my_total
my_list = [[2,3], [7,9], [11,45], [78,98]]
print("The list elements are :")
print(my_list)
print( "The sum is :")
print(recursion_sum(my_list))

출력

The list elements are :
[[2, 3], [7, 9], [11, 45], [78, 98]]
The sum is :
253

설명

  • 매개변수로 list를 사용하여 'recursion_sum'이라는 메서드가 정의되었습니다.
  • 초기에는 변수가 0으로 할당됩니다.
  • 목록의 요소는 반복되며 유형이 일치하면 목록의 요소가 추가되고 메서드가 다시 호출됩니다.
  • 그렇지 않으면 요소가 변수에 추가됩니다.
  • 이 변수는 콘솔에 출력으로 표시됩니다.
  • 함수 외부에서 다음 작업이 수행됩니다. -
  • 중첩 목록이 정의되어 콘솔에 표시됩니다.
  • 이 목록을 매개변수로 전달하여 메서드를 호출합니다.
  • 출력은 콘솔에 표시됩니다.