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 相关文章推荐
pydev使用wxpython找不到路径的解决方法
Feb 10 Python
videocapture库制作python视频高速传输程序
Dec 23 Python
python 中if else 语句的作用及示例代码
Mar 05 Python
Python输入二维数组方法
Apr 13 Python
一篇文章搞定Python操作文件与目录
Aug 13 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
通俗讲解python 装饰器
Sep 07 Python
python向企业微信发送文字和图片消息的示例
Sep 28 Python
python按照list中字典的某key去重的示例代码
Oct 13 Python
基于Python的EasyGUI学习实践
May 07 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与C#分别格式化文件大小的代码
2011/05/14 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
IE 下的只读 innerHTML
2009/08/21 Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
2012/04/20 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
几种tab切换详解
2017/02/03 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
vue+ts下对axios的封装实现
2020/02/18 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
酒店总经理工作职责
2013/12/13 职场文书
仓库门卫岗位职责
2013/12/22 职场文书
行政内勤岗位职责
2014/04/07 职场文书
低碳生活倡议书
2014/04/14 职场文书
关于学习的演讲稿
2014/05/10 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
家长反馈意见及建议
2015/06/03 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL
MySQL 外连接语法之 OUTER JOIN
2022/04/09 MySQL