使用递归Python程序检查是否为回文字符串
当需要使用递归技术、简单索引和用户定义的函数来检查一个字符串是否为回文字符串时,可以使用递归。回文字符串是那些从左向右和从右向左读取各自索引处具有相同字符的字符串或值。
递归计算大问题的小部分的输出,然后将这些部分组合起来,以给出大问题的解决方案。
下面是一个示例 –
更多Python相关文章,请阅读:Python 教程
示例
def check_palindrome(my_str):
if len(my_str) < 1:
return True
else:
if my_str[0] == my_str[-1]:
return check_palindrome(my_str[1:-1])
else:
return False
my_string = str(input("Enter the string :"))
print("The string is ")
print(my_string)
if(check_palindrome(my_string)==True):
print("The string is a palindrome")
else:
print("The string isn't a palindrome")
输出
Enter the string : MalaM
MalaM
The string is
MalaM
The string is a palindrome
解释
- 一个名为’check_palindrome’的方法以一个字符串作为参数。
- 如果字符串的大小小于1,则返回’True’。
- 否则,检查字符串中的最后一个元素是否与第一个元素匹配。
- 该方法从第二个索引到最后一个索引上的元素再次被调用,其中最后一个索引值会因设计而被排除在外。
- 否则,该函数返回false。
- 在函数外部,要求用户输入字符串。
- 该字符串在控制台上显示。
- 该方法通过将该字符串作为参数调用。
- 如果其值计算为’True’,则在控制台上显示相关消息。
- 否则,在控制台上显示不同的消息。