字符串逆序,本题是2021年10月24日举办的第13届蓝桥杯青少组Python编程选拔赛真题编程部分第3题。题目要求对给定的字符串,将其全部变为大写字母并逆序输出。
先来看看题目的要求吧。
编程实现:
给定一个只包含大小写字母的字符串,然后将其全部变为大写字母并逆序输出。
输入描述:
输入一个只包含大小写字母的字符串
输出描述:
将字符串全部变为大写字母,然后逆序输出
样例输入:
aCb
样例输出:
BCA
这是一道简单的字符串运算题目,涉及的知识点包括循环、切片操作和字符串相关函数。
循环遍历 切片运算 使用reversed()函数 借助栈结构 双指针算法
iterator[start: end: step]
三个参数的含义如下:
start:起始索引,默认值是0,即序列的开头;
end:结束索引,但请注意,这个位置的元素本身并不包含在切片结果中,默认值是序列的长度,即序列的末尾;
step:步长,表示在切片时每隔多少个元素取一个,默认值是1,即连续取元素,如果设置为负数,则表示从后往前取元素。
如果要逆序切片的话,只需要将第3个元素设置为-1即可。
第三种方法,使用reversed()函数, 它是Python的内置函数,返回一个反转的迭代器,但顺序是反向的。
这个函数不会修改原始序列,而是返回一个新的迭代器,可以配合join()函数得到逆序的字符串,
循环遍历
切片运算
使用reversed()函数
1. 循环遍历
根据前面的思路分析,编写代码如下:
代码比较简单,说明3点:
1). 使用input()函数获取的就是字符串类型,无需转换;
2). 需要先使用upper()函数将字符串转成大写;
3). 这里使用的正序遍历,将获取的每个字符插入到s1的前面,你也可以使用倒叙的方式进行遍历。
2. 切片运算
直接使用切片运算,编写代码如下:
这是最简单的方法,注意一点,start和end这里空着了,它会使用默认值,表示获取整个字符串,-1则表示从后面往前面获取。
3. 使用reversed()函数
直接编写代码如下:
至此,整个程序就全部完成了,你可以输入不同的数字来测试效果啦。
循环语句;
切片运算;
字符串运算;
字符串相关函数;
本题非常简单,实现方法也比较多,这里只介绍了3种最常见的方法。
第一种方法是基础方法,使用的枚举思想,通过循环获取每个字符,重新拼接,这种方法比较通用,适用于所有的编程语言。
第二种方法最为巧妙,也最简单,这是Python独有的一种运算,功能强大,应用广泛,体现了Python编程的简洁性特点,强烈推荐使用。
第三种方法也比较简单,但是需要熟悉reversed()和join()这两个函数,相对来说,不那么友好,但这正是Python的特点,它提供了大量强大的函数,一定要多熟悉,多运用。
超平老师给你留一道思考题,前面还提到栈结构和双指针,你知道是如何实现的吗?
你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。
需要源码的,可以添加本人微信。
另外,超平老师创建了一个蓝桥杯备考交流群,这是专门为老师和家长打造的免费社群,您可以与来自全国各地的老师、家长共同交流经验,分享学习心得。
超平老师也会给大家带来及时的赛事动态,备考攻略,真题资源分享,帮助各位更好地备考第15届蓝桥杯赛事,力争取得优异的成绩。
扫码或长按加入微信群