为了账号安全,请及时绑定邮箱和手机立即绑定

如果单词是回文,为什么不会返回 true?

如果单词是回文,为什么不会返回 true?

噜噜哒 2023-12-29 10:08:54
我希望程序在该单词是回文时返回 true,否则返回 false。我还必须使用 for 循环来向后打印单词,所以我不想改变它。这是函数: ///def isPalindrome(s):    for i in s[::-1]:        print(i)     if i == s:        return True    else:        return Falseprint(isPalindrome('hannah'))print(isPalindrome('ben'))/// 这就是它打印的内容: ///hannahFalsenebFalse///
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

当你的 for 循环到达最后一次迭代时:

for i in s[::-1]: 
   print(i)

的值i是单词 的第一个字母si因此,当您与进行比较时s,您不是将该单词与其反向版本进行比较,而是将该单词与其第一个字母进行比较。例如,对于“hannah”,您正在比较

"hannah" == "h"

对于“ben”,你正在比较

"ben" == "b"

这当然False在两种情况下都是如此。

你想要做的是将这个词s与其相反的版本进行比较,即

s == s[::-1]


查看完整回答
反对 回复 2023-12-29
  • 1 回答
  • 0 关注
  • 49 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信