zoukankan      html  css  js  c++  java
  • python 递归调用 返回值问题

    当使用递归时并有返回值时,调用自身函数时需要加上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.要么像绿色的那样加两句,要么像红色的直接返回就好。python 递归调用 返回值问题 - 眺望下一站 - 生活荒地

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

  • 相关阅读:
    一些tcp通讯代码
    使用资源监控工具 glances
    命令行方式运行yii2程序
    php获取apk信息
    Yii2简单纪要
    LuCI探究(转)
    proguard混淆jar文件
    hibernate-search-5.1.1简易使用
    数据库应用-java+sqlserver(六)MyFrame
    数据库应用-java+sqlserver(五)ModifyPassword
  • 原文地址:https://www.cnblogs.com/beforeluck-shang/p/8370815.html
Copyright © 2011-2022 走看看