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 07 Python
Django 添加静态文件的两种实现方法(必看篇)
Jul 14 Python
Python随机函数random()使用方法小结
Apr 29 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 Python
python实现合并两个排序的链表
Mar 03 Python
使用python写的opencv实时监测和解析二维码和条形码
Aug 14 Python
Python异常模块traceback用法实例分析
Oct 22 Python
如何将你的应用迁移到Python3的三个步骤
Dec 22 Python
Jupyter Notebook折叠输出的内容实例
Apr 22 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
Selenium 配置启动项参数的方法
Dec 04 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&amp;&amp;mysql)二
2006/10/09 PHP
Windows下的PHP5.0详解
2006/11/18 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
javascript使用location.search的示例
2013/11/05 Javascript
购物车选中得到价格实现示例
2014/01/26 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
javascript每日必学之封装
2016/02/23 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
2016/06/08 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
python简单分割文件的方法
2015/07/30 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
Python爬虫爬取ts碎片视频+验证码登录功能
2021/02/22 Python
彪马法国官网:PUMA法国
2019/12/15 全球购物
外贸采购员岗位职责
2015/04/03 职场文书
通知格式
2015/04/27 职场文书
OpenCV-Python实现人脸磨皮算法
2021/06/07 Python
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers