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编写一个模仿CPU工作的程序
Apr 16 Python
Python文件夹与文件的相关操作(推荐)
Jul 25 Python
python 类详解及简单实例
Mar 24 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
Apr 28 Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 Python
Python shelve模块实现解析
Aug 28 Python
Python3的socket使用方法详解
Feb 18 Python
python实现最速下降法
Mar 24 Python
详解Python中第三方库Faker
Sep 25 Python
浅析python字符串前加r、f、u、l 的区别
Jan 24 Python
OpenCV-Python直方图均衡化实现图像去雾
Jun 07 Python
Python中的 enumerate和zip详情
May 30 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执行批量mysql语句的解决方法
2013/05/02 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
php文件系统处理方法小结
2016/05/23 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
javascript类型系统_正则表达式RegExp类型详解
2016/06/24 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
js实现列表按字母排序
2020/08/11 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Python中subprocess模块用法实例详解
2015/05/20 Python
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
python多线程并发实例及其优化
2019/06/27 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
服装促销活动方案
2014/02/23 职场文书
文明寄语大全
2014/04/11 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
记者节感言
2015/08/03 职场文书
纯html+css实现打字效果
2021/08/02 HTML / CSS
python装饰器代码解析
2022/03/23 Python
基于Python实现西西成语接龙小助手
2022/08/05 Golang