本篇文章小编给大家分享一下Python实例练习逆序输出字符串代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1. 问题描述
输入一个字符串然后对其进行逆序输出
第一种方式:字符串切片
第二种方式:使用循环转换然后逆序输出
比如:输入字符串'hello',逆向输出'olleh'
2. 算法思路
1.使用循环从字符串的长度减一开始到0结束
2.每次的循环体内,将相应索引的字符添加进列表
3.完成所有的循环之后,将列表转换为字符串输出
3. 代码实现
第一种切片方式
实现代码:
# Python3 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型 # range(start, stop[, step]) # 参数说明: # start:计数从start 开始。默认是从0开始。例如range (5) 等价于range (0,5) ; # stop:计数到stop结束,但不包括stop。 例如: range (0,5) 是 [0, 1, 2, 3, 4]没有5 # step:步长,默认为1。例如: range (0, 5) 等价于 range(0, 5, 1) # range(5, 0, -1): [5, 4, 3, 2, 1] # 第一种切片方式 str_info = input("请输入字符串:") print("逆序输出结果为:", str_info[::-1])
运行结果:
第二种循环转换
实现代码:
# Python3 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型 # range(start, stop[, step]) # 参数说明: # start:计数从start 开始。默认是从0开始。例如range (5) 等价于range (0,5) ; # stop:计数到stop结束,但不包括stop。 例如: range (0,5) 是 [0, 1, 2, 3, 4]没有5 # step:步长,默认为1。例如: range (0, 5) 等价于 range(0, 5, 1) # range(5, 0, -1): [5, 4, 3, 2, 1] # 第二种循环转换 str_info = input("请输入字符串:") str_list = [] for i in range(len(str_info) - 1, -1, -1): str_list.append(str_info[i]) print("str_list:", str_list) print("逆序输出结果为:", ''.join(str_list))
代码解析:
range(len(str_info) - 1, -1, -1) :获取字符串索引下标
len(str_info) - 1:字符串最大索引位置,如hello就是取到4
第1个-1:由于左闭右开,实际取值到0
第2个-1:倒叙
''.join(str_list):将字符串列表['o', 'l', 'l', 'e', 'h']转换为olleh字符串
运行结果: