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中的测试模块unittest和doctest的使用教程
Apr 14 Python
在GitHub Pages上使用Pelican搭建博客的教程
Apr 25 Python
Python实现的HTTP并发测试完整示例
Apr 23 Python
使用Python对Access读写操作
Mar 30 Python
python利用高阶函数实现剪枝函数
Mar 20 Python
Python根据成绩分析系统浅析
Feb 11 Python
numpy concatenate数组拼接方法示例介绍
May 27 Python
python 弹窗提示警告框MessageBox的实例
Jun 18 Python
python中有关时间日期格式转换问题
Dec 25 Python
Django CSRF认证的几种解决方案
Mar 03 Python
python小白学习包管理器pip安装
Jun 09 Python
Pycharm自带Git实现版本管理的方法步骤
Sep 18 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的常用扩展函数
2014/10/23 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
prototype 学习笔记整理
2009/07/17 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
分析运行中的 Python 进程详细解析
2019/06/22 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
python实现的汉诺塔算法示例
2019/10/23 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
行政办公员自我评价分享
2013/12/14 职场文书
留学推荐信中文范文三篇
2014/01/25 职场文书
超市总经理岗位职责
2014/02/02 职场文书
消防先进事迹材料
2014/02/10 职场文书
美术指导助理求职信
2014/04/20 职场文书
安全施工责任书
2014/08/25 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python