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中的zip函数使用示例
Jan 29 Python
在Python中使用Neo4j数据库的教程
Apr 16 Python
Python实现SMTP发送邮件详细教程
Mar 02 Python
Python实现读取机器硬件信息的方法示例
Jun 09 Python
Python常见数字运算操作实例小结
Mar 22 Python
python如何实现不可变字典inmutabledict
Jan 08 Python
python标识符命名规范原理解析
Jan 10 Python
python3下pygame如何实现显示中文
Jan 11 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 Python
教你如何使用Python下载B站视频的详细教程
Apr 29 Python
Python利用capstone实现反汇编
Apr 06 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中Object对象的笔记分享
2011/06/28 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python中文件操作简明介绍
2015/04/13 Python
深入讲解Python编程中的字符串
2015/10/14 Python
pip命令无法使用的解决方法
2018/06/12 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
天网面试题
2013/04/07 面试题
毕业自我鉴定书
2014/03/24 职场文书
班级寄语大全
2014/04/10 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
好的促销活动方案
2014/08/21 职场文书
合作协议书范本
2014/10/25 职场文书
财务部会计岗位职责
2015/02/03 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书