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 14 Python
python操作sqlite的CRUD实例分析
May 08 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
对python 命令的-u参数详解
Dec 03 Python
pygame实现弹球游戏
Apr 14 Python
基于Python的Jenkins的二次开发操作
May 12 Python
python线性插值解析
Jul 05 Python
python装饰器三种装饰模式的简单分析
Sep 04 Python
Python Opencv实现单目标检测的示例代码
Sep 08 Python
Django自定义YamlField实现过程解析
Nov 11 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 Python
pandas 按日期范围筛选数据的实现
Feb 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
ADODB类使用
2006/11/25 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
PHP中其实也可以用方法链
2011/11/10 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
javascript 播放器 控制
2007/01/22 Javascript
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
python更新列表的方法
2015/07/28 Python
Python编写电话薄实现增删改查功能
2016/05/07 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
Python IDLE入门简介
2017/12/08 Python
PyQT实现多窗口切换
2018/04/20 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
django创建简单的页面响应实例教程
2019/09/06 Python
python 回溯法模板详解
2020/02/26 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
python不同系统中打开方法
2020/06/23 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
Python调用C/C++的方法解析
2020/08/05 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
学习方法演讲稿
2014/05/10 职场文书
年度评优评先方案
2014/06/03 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
常用的Python代码调试工具总结
2021/06/23 Python