Python遞歸調(diào)用實(shí)現(xiàn)數(shù)字累加的代碼
更新時(shí)間:2020年02月25日 17:43:03 作者:象牙塔小明
今天小編就為大家分享一篇Python遞歸調(diào)用實(shí)現(xiàn)數(shù)字累加的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
我就廢話不多說了,直接上代碼吧!
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
補(bǔ)充拓展:python遞歸計(jì)數(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)用實(shí)現(xiàn)數(shù)字累加的代碼就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用socket實(shí)現(xiàn)圖像傳輸功能
這篇文章主要為大家詳細(xì)介紹了python使用socket實(shí)現(xiàn)圖像傳輸功能,linux服務(wù)器與win10主機(jī)間的圖像傳輸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
Python實(shí)現(xiàn)的遠(yuǎn)程文件自動(dòng)打包并下載功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的遠(yuǎn)程文件自動(dòng)打包并下載功能,結(jié)合實(shí)例形式分析了Python使用spawn()方法執(zhí)行ssh、scp 命令實(shí)現(xiàn)遠(yuǎn)程文件的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
Python xlrd/xlwt 創(chuàng)建excel文件及常用操作
這篇文章主要介紹了Python xlrd/xlwt 創(chuàng)建excel文件及常用操作,幫助大家更好的理解和使用python辦公,感興趣的朋友可以了解下2020-09-09

