检查python中的回文

问题描述 投票:1回答:2

我为我的python类分配了一个作业,但我一直陷于困境。我似乎无法使它与图片匹配,并且逐字倒数。

问题:

编写一个接受单词作为输入并确定单词是否为回文的程序。回文是一个以相同方式向前和向后书写的单词。 “安娜”是回文的一个例子。该程序必须符合以下规范:

1)必须从用户那里读取单词,并从头到尾遍历字母,以便比较每个字符以查看单词是否是回文。2)比较每对字符时,必须在屏幕上显示这些字符。3)当比较的两个字符不同时,程序应停止并指示该单词不是回文。4)程序必须忽略大小写,例如“安娜”的结果应与“安娜”的结果相同。

这里是我到目前为止编写的代码:

string=input(("Enter a string:"))
for char in string:
    print(char)
if(string==string[::-1]):
      print("The string is a palindrome")
else:
      print("Not a palindrome")

这里是水,看起来应该像:

What the program should do

python char palindrome
2个回答
0
投票

因此要比较每对,您应该将string[::-1]保存到某个变量,然后同时遍历两个变量并比较字母。如果任何时候字母不匹配,请打印结果。这应该符合规范。另外,请确保在字符串上使用lower(),以便Anna和anna彼此匹配


0
投票

要生成描述的输出,您似乎需要执行逐字符比较。您尝试过的是将字符串反向直接进行比较。试试这个:

string=input(("Enter a string:"))
rev_string = string[::-1]
isPalindrome = True
for i in range(len(string)):
    print (string[i], "--", rev_string[i])
    if string[i] != rev_string[i]:
        isPalindrome = False
if isPalindrome:
    print("The string is a palindrome")
else:
     print("Not a palindrome")
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.