Python 程序不显示返回值

Python 程序不显示返回值,python,recursion,Python,Recursion,我在这里的一个答案中看到了代码,我正试图把它分开,看看它是如何工作的。我想我理解它(使用or运算符作为一种仿“if”语句),但这不是这里的问题。它应该返回一个值,在可视化代码()之后,它显然返回了一个值。但是,当我在终端中运行它时,实际上没有显示任何值。发生了什么事 def ispalin(word): return(not word) or (word[0]==word[-1] and ispalin(word[1:-1])) ispalin(input("Enter a word."

我在这里的一个答案中看到了代码,我正试图把它分开,看看它是如何工作的。我想我理解它(使用or运算符作为一种仿“if”语句),但这不是这里的问题。它应该返回一个值,在可视化代码()之后,它显然返回了一个值。但是,当我在终端中运行它时,实际上没有显示任何值。发生了什么事

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

运行时,它会请求一个值,但不显示任何内容

这是因为您只是
返回
值,而不是打印它

print (ispalin(input("Enter a word.")))
将打印出您的值

更改句子后的O/p

Enter a word.malayalam
True

这是因为您只是
返回
值,而不是打印它

print (ispalin(input("Enter a word.")))
将打印出您的值

更改句子后的O/p

Enter a word.malayalam
True

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

您需要显式打印结果:

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

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

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

您需要显式打印结果:

print(ispalin(input("Enter a word.")))
交互式解释器会话是一个会话,它将打印您尝试的任何结果,但当您从命令行运行代码或双击脚本时,不会进行打印。

try

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


请勿更改返回打印!返回值用于递归,不返回将导致问题。@acushner哦,是的。我忘了。谢谢你在我下课前的帮助,我没有因为这个原因把退场改成印刷版。谢谢你的解决方案!我觉得自己很愚蠢。@user3419886不客气,如果你认为答案已经回答了你的问题,那就接受吧question@user3419886请参见此--->请勿更改返回打印!返回值用于递归,不返回将导致问题。@acushner哦,是的。我忘了。谢谢你在我下课前的帮助,我没有因为这个原因把退场改成印刷版。谢谢你的解决方案!我觉得自己很愚蠢。@user3419886不客气,如果你认为答案已经回答了你的问题,那就接受吧question@user3419886看看这个--->如果你认为他们回答了你的问题,一定要接受答案。看看这个——如果你认为他们回答了你的问题,一定要接受答案。看到这个了吗-