Python回文挑战者

2024-09-25 08:36:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我被要求编写一个程序来测试给定的字符串是否是回文。n是长度为1<;=x<;=10000的字符串,不包含空格或特殊字符。几分钟后我写了以下内容:

 def run(n):
  n = n.replace('\n','')
  nprime = n[::-1]
  Bool = True
  for i in range(0,len(n)):
    if not n[i]==nprime[i]:
      Bool = False
  if Bool==True:
    print "Y"
  else:
    print "N"

显然这在某些测试用例中失败了。我不知道它失败的测试用例。我尝试了所有我能想到的边缘案件,我的脚本似乎运作良好。有人知道它会在哪里失败吗?在


Tags: run字符串lt程序trueforifdef
1条回答
网友
1楼 · 发布于 2024-09-25 08:36:27

我会将您的代码简化为:

def check(inval):
    val = inval.strip().lower()
    lav = val[::-1]
    print (val == lav) and 'Y' or 'N'

如果您希望使用真正通用的版本:

^{pr2}$

相关问题 更多 >