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数组复制拷贝的实现方法
Jun 09 Python
简单介绍Python中的几种数据类型
Jan 02 Python
Python编写合并字典并实现敏感目录的小脚本
Feb 26 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
Aug 28 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
pytorch 修改预训练model实例
Jan 18 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
Python定时从Mysql提取数据存入Redis的实现
May 03 Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 Python
Django用户认证系统如何实现自定义
Nov 12 Python
MoviePy简介及Python视频剪辑自动化
Dec 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
3
2006/10/09 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
python 获取文件列表(或是目录例表)
2009/03/25 Python
web.py获取上传文件名的正确方法
2014/08/26 Python
python目录与文件名操作例子
2016/08/28 Python
基于OpenCV python3实现证件照换背景的方法
2019/03/22 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
python基于selenium爬取斗鱼弹幕
2021/02/20 Python
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
《记金华的双龙洞》教学反思
2014/04/19 职场文书
金融保险专业求职信
2014/09/03 职场文书
学习保证书
2015/01/17 职场文书
裁员通知
2015/04/25 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技