python - 程序不显示返回值

标签 python recursion

我在此处的答案中看到了代码,我正试图将其拆解以查看其工作原理。我想我理解它(使用 or 运算符作为一种替代的“if”语句。),但这不是这里的问题。它应该返回一个值,并且在可视化代码(done here)之后它显然正在返回一个值。但是,当我在终端中运行它时,实际上没有显示任何值。怎么了?

def ispalin(word):
    return(not word) or (word[0]==word[-1] and ispalin(word[1:-1]))
ispalin(input("Enter a word."))

运行时,它会询问一个值,但没有显示任何内容。

最佳答案

除非您在解释器中运行代码,否则 Python 不会仅在模块级代码中打印返回值。

您需要显式打印您的结果:

print(ispalin(input("Enter a word.")))

交互式解释器 session 是一个 REPL, or Read-Eval-Print loop ,它会打印您尝试的任何结果,但是当您从命令行运行代码或双击脚本时,不会进行任何打印。

关于python - 程序不显示返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27866074/

相关文章:

java - 如何在Python中编写可以在Java中本地读取的浮点值?

python - 如何在matplotlib条形图后面绘制网格线

python - 使用多线程加速 Pandas 数据帧的创建

python - 将几列分组,然后在 Pandas 中聚合一组列(与 R 的 data.table 相比,它严重崩溃)

python 或 R 代码调用 mySQL 进行分层和递归查询

Swift 递归枚举

Python-将文本文件放入字典中

javascript - SetTimeout 递归 (Javascript)

c - 这个递归程序如何反转所有字符

c++ - 树内容的格式化输出——先序遍历