当使用递归时并有返回值时,调用自身函数时需要加上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. hadoop基本组件原理小总结

    Hadoop基础知识小总结  这是本人(学生党)在学习hadoop半个学期后根据教科书后习题做的一个小总结,如有发现错误还请各位海涵并指出,我会及时改过来的,谢谢! 目录 Hadoop基础知识小总结. ...

  2. C# LINQ学习笔记四:LINQ to OBJECT之操作文件目录

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5816051.html,记录一下学习过程以备后续查用. 许多文件系统操作实质上是查询,因此非常适合使用LINQ方 ...

  3. 获取redis实例中最大的top-N key

    需求:获取redis实例中最大的top-N key 说明:由于redis 4.x才引入了memory usage keyname的语法.3.x不支持! db_ip=5.5.5.101 db_port= ...

  4. java中类的构造方法出错点

    大家请看下面的这个代码 package ppt_test; public class test1 { public static void main(String args[]) { Foo obj1 ...

  5. FC-NVMe阅读摘要(一)

    首字母缩写 IU Information Unit BLS Basic Link Service ELS Extended Link Service PLOGI N_Port Login PRLI   ...

  6. PHP对一维数组去重

    一维数组去重 $arr =[1,2,2,3,6]; $arr1 =array_flip($arr); $arr =array_flip($arr1); return $arr; array_flip( ...

  7. 多个iframe,删除详情页时刷新同级iframe的table list

    说明:在使用iframe开发时,经常遇到多个iframe之间的操作. 下面就是一个需求:在一个iframe中关闭时,刷新指定的iframe: 添加需要刷新的标识reload=true //添加npi2 ...

  8. flaskapp

    前置知识 https://blog.csdn.net/u013457794/article/details/88997699?depth_1-utm_source=distribute.pc_rele ...

  9. 162.扩展User模型-使用Proxy模型

    扩展用户模型: Django内置的User模型虽然已经足够强大了,但是有时候还是不能满足我们的需求,比如在验证用户登录的时候,它用的是用户名作为验证,而我们有时候需要通过手机号码或者是邮箱进行验证,还 ...

  10. HTTP协议常用状态码

    HTTP协议常用状态码   <?php    send_http_status(404);   /**  * HTTP Protocol defined status codes * HTTP协 ...