n = str(input('Enter the string:'))
def palindrome(n):
index = 0
check = True
while index<int(len(n)/2):
if n[index]==n[-1-index]:
index+=1
return True
break
return False
if palindrome(n)==True:
print('palindrome')
else:
print('not palindrome')
我没有得到这个回文计划的正确答案。
答案 0 :(得分:1)
使用raw_input:
n = str(raw_input('Enter the string:'))
答案 1 :(得分:1)
def palindrome(my_string):
reverse_string = my_string[::-1]
if list(my_string)==list(reverse_string):
return True
else:
return False
my_string = input("ENTER THE STRING ")
if(palindrome(my_string)):
print("Palindrome")
else:
print("Not Palindrome")
答案 2 :(得分:0)
经典解决方案:
foreach
答案 3 :(得分:0)
while index < int(len(n) / 2):
if n[index] != n[len(n) - index - 1]:
return False
index+=1
return True
答案 4 :(得分:0)
你的支票坏了。看看return True
:
def palindrome(n):
index = 0
check = True
while index<int(len(n)/2):
if n[index]==n[-1-index]:
index+=1 # only increment on match !!!
return True # return True on *first* match !!!
break # unnecessary, return exits the loop
return False # never reached, but would only trigger if there are no matches
基本上,您通过字符串并在第一个匹配上报告True。因此,如果第一个和最后一个字母相同,则返回True
。仅当没有字符对匹配时,才会返回False
。这与想要检查的相反。它应该是这样的:
def palindrome(n):
index = 0
check = True
while index < len(n)/2:
if n[index] != n[-1-index]:
return False # one didn't match, cannot be a palindrome
index+=1
return True # all did match, is a palindrome