# -*- coding:utf-8 -*-
# palindrome str : 回文字符串:一個字符串,不論是從左往右,還是從右往左,字符的順序都是一樣的(如abba,等)
def is_palindrome_1(tmp_str):
for i in range(len(tmp_str)):
if tmp_str[i] != tmp_str[-(i+1)]:
return False
return True
def is_palindrome_2(tmp_str):
# tmp_str_reverse = tmp_str[::-1]
# if tmp_str == tmp_str_reverse:
# return True
# else:
# return False
return tmp_str == tmp_str[::-1]
#遞歸
def is_palindrome_3(tmp_str):
if len(tmp_str) <= 1:
return True
else:
if tmp_str[0] == tmp_str[-1]:
return is_palindrome_3(tmp_str[1:-1])
else:
return False
if __name__ == "__main__":
test_str1 = "abcba"
test_str2 = "123456a"
print is_palindrome_1(test_str1)
print is_palindrome_2(test_str1)
print is_palindrome_3(test_str1)
print is_palindrome_1(test_str2)
print is_palindrome_2(test_str2)
print is_palindrome_3(test_str2)