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益智游戏计算汉诺塔问题示例
Mar 05 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
Nov 05 Python
Python聚类算法之凝聚层次聚类实例分析
Nov 20 Python
python 生成器协程运算实例
Sep 04 Python
Python实现简易过滤删除数字的方法小结
Jan 09 Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 Python
python调用接口的4种方式代码实例
Nov 19 Python
Python中Subprocess的不同函数解析
Dec 10 Python
基于pygame实现童年掌机打砖块游戏
Feb 25 Python
Python连续赋值需要注意的一些问题
Jun 03 Python
python可视化之颜色映射详解
Sep 15 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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
实用函数3
2007/11/08 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
jquery 插件学习(六)
2012/08/06 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
python getopt 参数处理小示例
2009/06/09 Python
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
简单介绍django提供的加密算法
2019/12/18 Python
python 实现屏幕录制示例
2019/12/23 Python
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
房地产融资计划书
2014/01/10 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
美术课外活动总结
2014/07/08 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android