Python递归调用实现数字累加的代码


Posted in Python onFebruary 25, 2020

我就废话不多说了,直接上代码吧!

def sum_numbers(num):
  # 1.出口
  if num == 1:
    return 1

  # 2.数组累加
  temp = sum_numbers(num - 1)
  return num + temp


result = sum_numbers(3)
print(result)

输出:

6

补充拓展:python递归计数及结束递归

题目:搜索旋转排序数组

Python递归调用实现数字累加的代码

class Solution:
  TOTAL = 0
  RUN = True
  def search(self, nums: List[int], target: int) -> int:
    # 将数组一分为二,分别比头尾,尾大于头为有序,剩下的为无序
    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递归调用实现数字累加的代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的函数的一些高阶特性
Apr 27 Python
Python生成随机验证码的两种方法
Dec 22 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
Python爬虫爬取美剧网站的实现代码
Sep 03 Python
python实现傅里叶级数展开的实现
Jul 21 Python
对Python中list的倒序索引和切片实例讲解
Nov 15 Python
Python OS模块实例详解
Apr 15 Python
python批量下载抖音视频
Jun 17 Python
微信小程序python用户认证的实现
Jul 29 Python
用Python绘制漫步图实例讲解
Feb 26 Python
Python hashlib和hmac模块使用方法解析
Dec 08 Python
Python天气语音播报小助手
Sep 25 Python
python烟花效果的代码实例
Feb 25 #Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 #Python
使用python绘制cdf的多种实现方法
Feb 25 #Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 #Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 #Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 #Python
python模拟点击网页按钮实现方法
Feb 25 #Python
You might like
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
动态加载script文件的两种方法
2013/08/15 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
javascript包装对象实例分析
2015/03/27 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
python类继承与子类实例初始化用法分析
2015/04/17 Python
Python算法应用实战之队列详解
2017/02/04 Python
python实现redis三种cas事务操作
2017/12/19 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
中职生自我鉴定范文
2013/10/03 职场文书
爱岗敬业演讲稿范文
2014/01/14 职场文书
银行授权委托书样本
2014/10/13 职场文书
Python import模块的缓存问题解决方案
2021/06/02 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技