如何检查字符串是否是回文?


问题内容

我有一个代码来检查一个单词是否是回文:

str = input("Enter the string")
l = len(str)
p = l-1
index = 0
while index < p:
    if str[index] == str[p]:
        index = index + 1
        p = p-1
        print("String is a palindrome")
        break
    else:
        print("string is not a palindrome")

如果输入了一个单词,例如:rotor,我希望程序检查该单词是否为回文,并输出为“给定的单词为回文”。

但是我面临的问题是,程序首先检查r和r并打印“给定的单词是回文”,然后检查o和o并打印“给定的单词是回文”。它打印结果的次数与检查单词的次数相同。

我希望结果只发送一次。如何更改代码?


问题答案:

只需反转字符串并将其与原始字符串进行比较

string_to_check = input("Enter a string")

if string_to_check == string_to_check[::-1]:
    print("This is a palindrome")
else:
    print("This is not a palindrome")