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常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
Aug 25 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
python实现redis三种cas事务操作
Dec 19 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
python对日志进行处理的实例代码
Oct 06 Python
python 同时运行多个程序的实例
Jan 07 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 Python
解决c++调用python中文乱码问题
Jul 29 Python
Python自动创建Excel并获取内容
Sep 16 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截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
PHP中Memcache操作类及用法实例
2014/12/12 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
php微信开发接入
2016/08/27 PHP
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
angular多语言配置详解
2019/05/16 Javascript
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
对于Python装饰器使用的一些建议
2015/06/03 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
python tkinter基本属性详解
2019/09/16 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
事务机电主管工作职责
2014/02/25 职场文书
后勤主管岗位职责
2014/03/01 职场文书
数据保密承诺书
2014/06/03 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
python实现图片批量压缩
2021/04/24 Python
background-position百分比原理详解
2021/05/08 HTML / CSS