Python遞歸調(diào)用實現(xiàn)數(shù)字累加的代碼
更新時間:2020年02月25日 17:43:03 作者:象牙塔小明
今天小編就為大家分享一篇Python遞歸調(diào)用實現(xiàn)數(shù)字累加的代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
我就廢話不多說了,直接上代碼吧!
def sum_numbers(num): # 1.出口 if num == 1: return 1 # 2.數(shù)組累加 temp = sum_numbers(num - 1) return num + temp result = sum_numbers(3) print(result)
輸出:
6
補充拓展:python遞歸計數(shù)及結(jié)束遞歸
題目:搜索旋轉(zhuǎn)排序數(shù)組
class Solution: TOTAL = 0 RUN = True def search(self, nums: List[int], target: int) -> int: # 將數(shù)組一分為二,分別比頭尾,尾大于頭為有序,剩下的為無序 i, j = 0, len(nums) - 1 res = -1 if nums and self.RUN: in_middle = (j + i) // 2 list1 = nums[:in_middle + 1] list2 = nums[in_middle + 1:] if nums[in_middle] >= nums[i]: res = self.binarySearch(list1, target) if res == -1: self.TOTAL += in_middle + 1 self.search(list2, target) else: self.TOTAL += res else: res = self.binarySearch(list2, target) if res == -1: self.search(list1, target) else: self.TOTAL += in_middle + 1 + res if not self.RUN: return self.TOTAL return res def binarySearch(self, nums, target): """ 二分查找 """ i, j = 0, len(nums) - 1 while i <= j: in_middle = (j + i) // 2 if nums[in_middle] == target: # print(nums, TOTAL) self.RUN = False return in_middle elif nums[in_middle] < target: i = in_middle + 1 else: j = in_middle - 1 return -1
以上這篇Python遞歸調(diào)用實現(xiàn)數(shù)字累加的代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實現(xiàn)的遠程文件自動打包并下載功能示例
這篇文章主要介紹了Python實現(xiàn)的遠程文件自動打包并下載功能,結(jié)合實例形式分析了Python使用spawn()方法執(zhí)行ssh、scp 命令實現(xiàn)遠程文件的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07Python xlrd/xlwt 創(chuàng)建excel文件及常用操作
這篇文章主要介紹了Python xlrd/xlwt 創(chuàng)建excel文件及常用操作,幫助大家更好的理解和使用python辦公,感興趣的朋友可以了解下2020-09-09