关于python函数递归返回值的问题

问题描述

关于python函数递归返回值的问题

这是一个匹配字典中词语的函数。
按理说已经匹配成功了
在return之前加个print
输出结果是对的
但是在外面调用输出来就是None
不知道为什么
求大神!!

 def find_word(dictionary,word):
    if word in dictionary:
        return word
    else:
        if len(word)-1 == 0:
            return word
        else:
            word = word[0:len(word)-1]
            find_word(dictionary,word)

dictionary = read_dic()
print(find_word(dictionary,"热烈欢迎新"))

解决方案

我懂了!!!else那里也要加return

解决方案二:

python函数-参数和返回值
scanf函数的返回值问题
编程中函数的返回值的定义问题的解决

解决方案三:

是的~但是感觉你这个匹配逻辑不是很清晰啊~

时间: 2024-12-22 22:43:13

关于python函数递归返回值的问题的相关文章

王亟亟的Python学习之路(10)-函数对象的作用域,函数作为返回值,闭包

转载请注明出处:王亟亟的大牛之路 本来打算把工作的事周末做掉点,但是发现在外面浪并不能迅速集中投入,为了避免不必要的BUG 还是明天在家做吧,那么久写一篇Python的文章吧,毕竟背着Mac出门不做些太对不起自己的肩膀了 废话不多,直接说内容,这篇文章的内容大致是围绕"闭包"走的,介绍下相关理论知识 作用域:对象有其存活的范围 闭包:内部函数可以引用外部函数的参数和局部变量(是不是听得云里雾里的,没事 看例子就明白了) 就像循环内声明的对象,除了循环也就无法获取他的值一样.就像在jav

Python基本语法_函数_返回值

目录 目录 前言 函数的返回值 在函数中Return和Print的区别 函数中的文档 前言 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作.可以说是函数的返回值令函数与函数之间,函数与主程序之间更加紧密的联系起来. 函数的返回值 在Python的函数中都有一个返回值,默认为None.也可以使用return value语句来定义一个且只能定义一个可为任意类型的返回值.但是我们能够返回一个序列类型的对象,来

PHP递归返回值时出现的问题解决办法_php技巧

我们在使用PHP递归时,会遇到各种各样的问题,其中比较令人苦恼的是有关PHP递归返回值时出现的问题.其实细细想想这是一个很简单的问题.可就是这个简单的问题困扰了半个下午.问题出在递归函数的返回值上. 这是开始写的: 复制代码 代码如下: <?php   function test($i)   {   $i -= 4;   if($i < 3)   {   return $i;   }   else    {   test($i);   }   }   echo test(30);   ?>

对象的初始化-用函数的返回值初始化一个类对象,这其中用了几次复制构造函数

问题描述 用函数的返回值初始化一个类对象,这其中用了几次复制构造函数 这是我自己写的一段代码#includeusing namespace std;class Example{int num;public:Example(int i){num=i;cout<<""This is construction with parameter.n"";}Example(){num=0;cout<<""This is construc

简单介绍如何使用PowerMock和Mockito来mock 1. 构造函数 2. 静态函数 3. 枚举实现的单例 4. 选择参数值做为函数的返回值(转)

本文将简单介绍如何使用PowerMock和Mockito来mock1. 构造函数2. 静态函数3. 枚举实现的单例4. 选择参数值做为函数的返回值5. 在调用mock出来的方法中,改变方法参数的值 一点简要说明:Mockito其实已经可以满足大部分的需求,但是它的实现机制是使用cglib来动态创建接口的类的实例.但是这种实现方式不能用于构造函数和静态函数,因为那需要使用类的字节码(比如使用javassist). 所以我们才需要结合使用PowerMock. 1. mock构造函数, 如果有代码没有

引用 返回值-引用值作为函数的返回值的困惑

问题描述 引用值作为函数的返回值的困惑 /////////////////////////////////////////////////////// double array[5] = {100.1, 100.2, 100.3, 100.4, 100.5}; double cd = 5.2; double &change(int i) { return array[i]; } void TestConstReturnVaulefun() { int i; cout<<"原始

类中const函数的返回值问题

问题描述 类中const函数的返回值问题 我写了一个matrix类,其中定义了一个二维指针int **p用来表示这个矩阵,现在我需要些一个下标操作符的重载,但是他会报错. const int *&matrix::operator const { return p[n]; } 这个函数返回一个一维指针引用.但是我不知道错在哪儿了. 但是如果把返回引用改成返回一维指针本身,也就是如下所示,就没问题了.为什么呢??哪个大神来解释下. const int *matrix::operator const

c语言scanf()函数的返回值

问题描述 c语言scanf()函数的返回值 c primer plus 一书中,199页的showchar2.c程序中有一行代码是if(scanf("%d %d",&rows,&cols)!=2),请问这里的scanf函数返回值的是参数的个数吗? 解决方案 http://blog.csdn.net/21aspnet/article/details/174326 解决方案二: c语言scanf返回值c语言中 scanf() 和printf()的返回值C语言中的printf

json-jax rs如何通过调用函数的返回值来返回相应的http状态?

问题描述 jax rs如何通过调用函数的返回值来返回相应的http状态? 需要实现这样的一个功能,在web api里拿到前台传来的json数据,调用DAO方法将该存入数据库中,在web api中根据DAO方法的返回的状态(例如存储成功或者失败)返回相应的http状态.应该是return Response.ok(xxx).build(); 是吗 那里面的xxx是DAO方法吧,那相应的DAO方法应该返回什么呢? 解决方案 顶啊............................ 解决方案二: 顶