程序未显示返回值

时间:2015-01-09 17:34:22

标签: python recursion

我在这里看到了答案中的代码,我试图将它分开看看它是如何工作的。我想我理解它(使用或运算符作为一种ersatz“if”语句。),但这不是问题。它应该返回一个值,在可视化代码(done here)后,它显然是返回一个值。但是,当我在终端中运行它时,实际上不会显示任何值。怎么了?

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

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

3 个答案:

答案 0 :(得分:4)

那是因为你只是return这个值而不是打印它

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

将打印出您的值

更改句子后的O / P

Enter a word.malayalam
True

答案 1 :(得分:4)

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

您需要明确打印您的结果:

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

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

答案 2 :(得分:1)

尝试,

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