本帖最后由 py看考场 于 2019-3-17 22:45 编辑
这是假期练习python时的一个简单小例子,关键就是看实现的不同思路吧。。
方法1: for 循环
[Python] 纯文本查看 复制代码 letter_num = list(input('please input some characters:'))
list_num = []
def convert_order():
for i in range(len(letter_num)):#根据列表的长度决定遍历的次数
list_num.append(letter_num[len(letter_num) - i - 1])#把letter_num中的值倒序添加到新列表中
print(''.join(list_num))#把''无间隔符添加到list_num中每个元素的中间,总体效果就是把列表转换为字符串
convert_order()
方法2: 递归 + 切片
[Python] 纯文本查看 复制代码 # 方法二,递归,切片实现,巧妙
def des_output(s):#实现的功能是依次取最后一个元素
if (len(s) > 0):
print(s[-1],end ='')#负数下标,先打印最后一个元素
des_output(s[0:-1])#从第一个元素到倒数第二个元素(从第一个元素到倒数第三个元素...)
s = input('string:')
des_output(s)
方法3:reverse()方法
[Python] 纯文本查看 复制代码 #方法三,用reverse()方法对列表操作取反,join()方法使列表转换为字符串
str = list(input('input a string:'))
str.reverse()#该方法没有返回值,若打印则出现None,但会对列表元素进行反向排序。因此用print(list)来查看排序即可
print(''.join(str))
方法4:range()第三个参数
[Python] 纯文本查看 复制代码 str = input('请输入字符串:')
for i in range(len(str) - 1, -1, -1):#起始,结束(不包含),反向步长.若len(str)==5,则循环【4,3,2,1,0】
print(str[i],end='')
方法5:切片
[Python] 纯文本查看 复制代码 str = list(input('String :'))
str1 = str[::-1]#注意前面两个冒号前不加数字表示整个列表
print(''.join(str1))
注意:根据大家的反馈,这里也可以不用把str转化为list,再转化str,
[Python] 纯文本查看 复制代码 S = input('请输入字符串:')
print(S[::-1])
好啦,今天就到这里啦,晚安 |