一聚教程网:一个值得你收藏的教程网站

热门教程

Python实例练习逆序输出字符串代码解析

时间:2022-06-25 01:14:36 编辑:袖梨 来源:一聚教程网

本篇文章小编给大家分享一下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字符串

运行结果:

热门栏目