"""
问题：
字符串反转（三种方式）

"""

"""
命令：''.join(list)
其中，引号中是字符之间的分割符，如“,”，“;”，“\t”等等
如：
list = [1, 2, 3, 4, 5]
''.join(list) 结果即为：12345
','.join(list) 结果即为：1,2,3,4,5
"""

"""
切片详解:
a=[1,2,3,4,5,6,7,8,9]
b=a[i:j]表示复制a[i]到a[j-1],以生成新的list
比如b=a[1:4],那么b=[2,3,4]
当i缺省时默认是从0开始的，eg:b=a[:4],就相当于b=a[0:4],此时b=[1,2,3,4]
当j缺省时默认为len(arrlist),eg:b=a[1:],就像当于b=a[1:9],此时b=[2,3,4,5,6,7,8,9]
当i,j都缺省时,相当于直接复制一份a，eg:b=a[:],就相当于b=a[0:9],此时b=[1,2,3,4,5,6,7,8,9]
对于b=a[i:j:s]这种格式，i和j和上述含义是一样的，s表示步长，缺省时为1
所以对于b=a[i:j:1]这种定义方式，其实和b=a[i:j]是一样的
当s<0时，i缺省时表示-1，代表list的最后一个元素，j缺省时代表-len(arrlist)-1,eg:b=a[::-1]
就相当于b=a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍
"""

#函数
str = list(input("请输入您想反转的字符串:"))
str.reverse()       #字符串反转函数
print(",".join(str))      #将序列中的元素（必须是str） 以指定的字符 连接生成一个新的字符串。

#切片
str = input("请输入您想反转的字符串:")
print(str[-1:-len(str)-1:-1])
# print(string[::-1])

#递归
str = input("请输入您想反转的字符串:")
def f(x):
    if x == -1:
        return "\n反转结束"
    else:
        return str[x] + "," + f(x-1)
final_str = f(len(str)-1)
print(final_str)