请帮忙详解以下 Python 递归回文程序

Python06

请帮忙详解以下 Python 递归回文程序,第1张

python索引的切片语法,

s[1:-1]

是指取出字符串索引1和到索引-1之间的字符(包括索引1位置的字符,但不包括索引-1位置的字符),如果后面那个索引位置再开始索引的位置之前,则返回空字符串

python语法中可以使用负数索引,-1表示倒数第一个,-2表示倒数第二个。

python中的字符串、列表、元组都可以使用索引切片语法

比如:

list=['a','b','c','d','e','f']

list[2:4]=['c','d','e']

list[2:-1]=['c','d','e']

def huiwen(a:str):

(Tab缩进)if len(a)>=2:

(Tab缩进)(Tab缩进)return(a+a[::-1], a+a[:len(a)-1][::-1])

if __name__ == "__main__":

(Tab缩进)a="str"

(Tab缩进)#b="12Bx"

(Tab缩进)print(f"{a}的回文是:{huiwen(a)}")

(Tab缩进)#print(f"{b}的回文是:{huiwen(b)}")

“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,称为回文数。

题主如果是想求五位数的回文数,一起构成一个十位数,那直接倒序输出就行了。将倒序后的数组存放到一个新数组,和之前的五位数一起构成一个新数组。

下面实现一下我的想法:

a = input('请输入一个五位数:')

old_list = list(a)

new_list = old_list[::-1]

sum_list = old_list + new_list

result = ''.join(sum_list)

print(result)