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抓取手机号归属地信息示例代码
Nov 28 Python
python+django加载静态网页模板解析
Dec 12 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
用Python将结果保存为xlsx的方法
Jan 28 Python
Python实现Event回调机制的方法
Feb 13 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
Django RBAC权限管理设计过程详解
Aug 06 Python
pytorch多进程加速及代码优化方法
Aug 19 Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 Python
Python参数传递对象的引用原理解析
May 22 Python
pycharm专业版远程登录服务器的详细教程
Sep 15 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
PHP5中MVC结构学习
2006/10/09 PHP
php GeoIP的使用教程
2011/03/09 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
基于node实现websocket协议
2016/04/25 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
2019/06/26 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
python print出共轭复数的方法详解
2019/06/25 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
浙大网新C/C++面试解惑
2015/05/27 面试题
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
三好学生个人总结
2015/02/15 职场文书
求职自我评价范文
2015/03/09 职场文书
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python