吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7241|回复: 28
收起左侧

[Python 转载] Python五种方法实现字符串反向输出

[复制链接]
py看考场 发表于 2019-3-15 01:41
本帖最后由 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])




好啦,今天就到这里啦,晚安

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
wwwwwn + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

liangyun 发表于 2019-3-15 15:27
py看考场 发表于 2019-3-15 11:56
欢迎大家提问与修正

[Python] 纯文本查看 复制代码
>>> a = 'abc'
>>> a[::-1]

哦,我是想说这个来着
其实不用转list再转回来
只做石头 发表于 2019-3-15 04:23
amoon_fangClass 发表于 2019-3-15 08:26 来自手机
笨笨猪 发表于 2019-3-15 08:40
楼主继续加油,等着楼主分享更好的算法
guanyuyihou 发表于 2019-3-15 08:41
最近正好在重温python。
感谢楼主分享。
liangyun 发表于 2019-3-15 08:43
本帖最后由 liangyun 于 2019-3-15 08:44 编辑

[Python] 纯文本查看 复制代码
demo = 'hello, world'
''.join(list(demo)[::-1])

好吧这个和最后一个重复了
qwerpoiu 发表于 2019-3-15 08:45
习惯用循环
挖掘机小王子 发表于 2019-3-15 08:45
代码不容易看啊
chanlo 发表于 2019-3-15 09:48
一直是用reverse,这次长见识了,谢谢分享
li5226966 发表于 2019-3-15 09:56
可以直接return s[::-1]
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 05:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表