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 文件操作实现代码
Oct 07 Python
pytyon 带有重复的全排列
Aug 13 Python
Python sys.argv用法实例
May 28 Python
六个窍门助你提高Python运行效率
Jun 09 Python
Python入门学习之字符串与比较运算符
Oct 12 Python
python3使用urllib模块制作网络爬虫
Apr 08 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
Python使用import导入本地脚本及导入模块的技巧总结
Aug 07 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
Nov 05 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
May 12 Python
学会python自动收发邮件 代替你问候女友
May 20 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
加速XP搜索功能堪比vista
2007/03/22 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
PHP分页类集锦
2014/11/18 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
python从入门到精通(DAY 3)
2015/12/20 Python
python正则表达式之作业计算器
2016/03/18 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
大专毕业生自我评价分享
2013/11/10 职场文书
奥巴马演讲稿
2014/01/08 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
银行业务授权委托书
2014/10/10 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
行政处罚事先告知书
2015/07/01 职场文书
给领导敬酒词
2015/08/12 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
pytorch--之halfTensor的使用详解
2021/05/24 Python