当使用递归时并有返回值时,调用自身函数时需要加上return语句如下:

def daxiao(biao1,biao2):
    #判断两个列表的大小,根据里面的元素大小
    #如果biao1大于biao2,返回1,
    #如果biao1小于biao2,返回0
    #如果两者相等,返回3
    geshu1=len(biao1)
    geshu2=len(biao2)
 
    b1=int(biao1[0])
    b2=int(biao2[0])  #这里只能比较数值大小,不能通过字符串直接比较大小
    print(biao1)
    print(biao2)
    print(b1,b2,'d')
    if b1>b2 :
        print(b1,b2)
        return 1
    elif b1<b2 : 
        return 0
    else:
        if(geshu1==geshu2==1):
            print('same name')
            return 3
        elif(geshu1==1 and geshu2>1):
            return 0
        elif(geshu1>1 and geshu2==1):
            return 1
        else: 
           # a=daxiao(biao1[-geshu1+1:],biao2[1-geshu2:])
           # return a
   #上面两句和这一句是等价的
           return daxiao(biao1[-geshu1+1:],biao2[1-geshu2:])
           

这里的return必须要加上,不然返回值就是none,
因为调用函数时,是向里传输数据,不加return时,就没法往回传输数据。方法里的return只是跳出被调用的那一层函数,当调到最外层时,语句是在调用的函数那里,运行下去没有return就返回None。

所以必须在调用函数后加个return.要么像绿色的那样加两句,要么像红色的直接返回就好。

https://www.cnblogs.com/yechenkai/p/7143475.html

python 递归调用 返回值问题的更多相关文章

  1. Python入门篇-返回值和作用域

    Python入门篇-返回值和作用域 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.返回值 1>.返回值概述 Python函数使用return语句返回“返回值” 所有函数都 ...

  2. python获取线程返回值

    python获取线程返回值 前言 工作中的需求 将前端传过来的字符串信息通过算法转换成语音,并将语音文件返回回去 由于算法不是我写的,只需要调用即可,但是算法执行速度相当缓慢 我的优化思路是,将前端的 ...

  3. python学习——函数返回值及递归

    返回值 return语句是从python 函数返回一个值,在讲到定义函数的时候有讲过,每个函数都要有一个返回值.Python中的return语句有什么作用,今天小编就依目前所了解的讲解一下.pytho ...

  4. 【python小随笔】celery异步任务与调用返回值

    s1.py(配置任务文件) from celery import Celery import time my_task = Celery("tasks", broker=" ...

  5. python os.system()返回值判断

    最近遇到os.system()执行系统命令的情况,上网搜集了一下资料,整理如下,以备不时之需,同时也希望能帮到某些人. 一.python中的 os.system(cmd)的返回值与linux命令返回值 ...

  6. Python函数之返回值、作用域和局部变量

    一.函数返回值 说到返回值,相信大家肯定都认识,没错,就是return. 所谓返回值可以这样理解:函数外部的代码要想获取函数的执行结果,就可以在函数里用return语句把结果返回. 那具体怎么用呢?接 ...

  7. Python 基础之返回值与函数使用与局部变量和全局变量locals() 和 globals()

    一.函数的返回值 return return: 自定义返回值,返回到哪里? 返回到函数的[调用处]1.return 后面可以跟上六个标准数据类型,除此之外,可以跟上 类对象,函数,如果不写return ...

  8. Python函数的返回值和作用域

    函数的返回值和作用域 1.返回值 def guess(x):    if x > 3:        return "> 3"    else:        retu ...

  9. 『无为则无心』Python函数 — 27、Python函数的返回值

    目录 1.返回值概念 2.return关键字的作用 3.返回值可以返回的数据类型 4.函数如何返回多个值 5.fn5 和 fn5()的区别 6.总结: 1.返回值概念 例如:我们去超市购物,比如买饮料 ...

随机推荐

  1. MAT(memory anlayzer tool)使用方法

    Analyzing and understanding the memory use of an application is challenging. A subtle logic error ca ...

  2. adworld MISC002 | Linux的挂载文件系统的运用

    EXT3是第三代扩展文件系统(英语:Third extended filesystem,缩写为ext3),是一个日志文件系统,常用于Linux操作系统. Plan 1: 直接将附件使用mount命令挂 ...

  3. php执行shell脚本

    本次想要配置webhook钩子,   做钩子大多是走 ssh 协议, coding 里配置部署公钥   之前用 docker 写钩子, 也是 ssh 权限的问题   包工具: 1.composer r ...

  4. 记录 Docker 的学习过程 (安装基础篇)

    docker 通过内核来实现 特点是效率高 1. centos7 三台(推荐2c 4g 最低 1c1g)2. 关闭防火墙 selinux3. 做好主机名解析,三台能互相ping通主机名host参考文件 ...

  5. [HNOI2003] 消防局的设立 - 树形dp

    仍然是点覆盖集问题,但覆盖半径变成了\(2\) 延续上一题的思路,只是式子更加复杂了 想体验一下min_element大法于是不想优化了 #include <bits/stdc++.h> ...

  6. Redis 数据总结 (2.命令实现逻辑)

    1.通过合理的Redis数据分布,实现逻辑的简化,即将部分逻辑纳入redis 连个sort表的合并,相关的资料见 http://www.redis.net.cn/order/3613.html ZIN ...

  7. Selenium3+python自动化009-iframe定位

    iframe 一.frame:HTML页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素: 二.操作Frame中的页面元素 定位元素: 1.id定位driver.switch_to.fr ...

  8. 强网杯2018 - nextrsa - Writeup

    强网杯2018 - nextrsa - Writeup 原文地址:M4x@10.0.0.55 所有代码均已上传至我的github 俄罗斯套娃一样的rsa题目,基本把我见过的rsa套路出了一遍,值得记录 ...

  9. shell问题汇总

    1. sudo执行脚本找不到变量 当普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能 ...

  10. python的selenium实现自动登陆

    知道思想,参考其他文档,python的request模块和selenium模块都可以实现get_cookie()和 add_cookie()的功能. 由于现在在学习selenium自动化测试,我选用s ...