我在这里看到了答案中的代码,我试图将它分开看看它是如何工作的。我想我理解它(使用或运算符作为一种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."))
当它运行时,它会询问一个值,但不会显示任何内容。
答案 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."))