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中Continue语句的用法的举例详解
May 14 Python
Python3实现发送QQ邮件功能(文本)
Dec 15 Python
快速了解Python中的装饰器
Jan 11 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 Python
浅析python3中的os.path.dirname(__file__)的使用
Aug 30 Python
pandas 空的dataframe 插入列名的示例
Oct 30 Python
python实现远程控制电脑
May 23 Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
使用keras内置的模型进行图片预测实例
Jun 17 Python
Python通过m3u8文件下载合并ts视频的操作
Apr 16 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代码
2010/08/08 PHP
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
php解决安全问题的方法实例
2019/09/19 PHP
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
vue-lazyload使用总结(推荐)
2018/11/01 Javascript
express 项目分层实践详解
2018/12/10 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
python3简单实现微信爬虫
2015/04/09 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
在python中画正态分布图像的实例
2019/07/08 Python
PyTorch-GPU加速实例
2020/06/23 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
师范生实习自我鉴定
2013/11/01 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
公司禁烟通知
2015/04/23 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL
详解Python类和对象内容
2021/06/22 Python
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL