字符串排序,本题是2022年4月17日举办的第13届蓝桥杯青少组Python编程省赛真题编程部分第2题,13届一共举办了两次省赛,这是第一次省赛。题目要求将输入的多个英文单词按字典顺序排序输出。
先来看看题目的要求吧。
编程实现:
输入多个英文单词(单词都为小写字母),然后按字典顺序排序输出。
单词首字母相同时就比较第二个字母,以此类推。
输入描述:
输入多个由小写仪母组成的英文单词,单词之间以一个英文逗号隔开。
输出描述:
按字典顺序排序输出,且单词之间以一个英文逗号隔开
输入样例:
python, hello, world
输出样例:
这是一道简单题,涉及的知识点包括输入输出,排序函数和字符串处理等。
1. 首字符优先:
在比较两个字符串时,首先比较它们的第一个字符。如果第一个字符不同,则按照字符编码的顺序确定两个字符串的先后。
2. 逐字符比较:
如果两个字符串的第一个字符相同,则继续比较后面的字符,直到找到不同的字符为止。然后根据该字符的编码值确定两个字符串的排序顺序。
3. 长度考虑:
如果两个字符串在某个位置之前的所有字符都相同,但一个字符串是另一个字符串的前缀,则较短的字符串排在前面,例如,“apple”会排在“apples”前面。
对于英文单词而言,是按照ASCII码进行比较排序的,ACII码表如下:
sort()方法 sorted()函数
思路有了,接下来,我们就进入具体的编程实现环节。
sort()方法 sorted()函数
1. sort()方法
使用sort()方法的代码如下:
2. sorted()函数
使用sorted()函数的代码如下:
至此,整个程序就全部完成了,你可以输入不同的数据来测试效果啦。
输入输出;
排序函数;
字符串相关函数;
本题代码少,非常简单,基本上也属于送分题,关键有两个,一是要深入理解什么是字典序,其排序规则是怎样的,而是熟练掌握字符串的相关函数。
有些同学因为不知道什么是字典序而放弃了这道题吗,是不是挺遗憾的。
所以说,我们在学习任何知识的时候,一定要注意基本概念的理解,要做到全面深入,而不是一知半解。
这里再补充两个说明,一是关于方法和函数的说法,在编程中,如果某个函数是属于对象的,通常称之为方法,其本质上仍然是函数。
二是Unicode和ASCII的区别和联系。
ASCII是一个包含128个字符的字符编码标准。它主要包括英文字母、数字和一些特殊符号,ASCII 码是最早的字符编码标准,只涵盖了有限的字符集。
Unicode是一个更大的字符编码标准,目的是包含全球范围内的所有字符。Unicode 包括了各种语言(包括中文)的字符、符号、标点以及其他特殊字符,总计支持数十万甚至更多不同字符。
Unicode 是 ASCII 的超集,包含了 ASCII 码中的字符,同时还包含了更多字符,让我们能够表示各种语言和符号。
超平老师给你留一道思考题,如果要按照字典序对输入的多个单词进行降序排序,该如何实现呢?
你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。
需要源码的,可以添加本人微信。
另外,超平老师创建了一个蓝桥杯备考交流群,这是专门为老师和家长打造的免费社群,您可以与来自全国各地的老师、家长共同交流经验,分享学习心得。
超平老师也会给大家带来及时的赛事动态,备考攻略,真题资源分享,帮助各位更好地备考第15届蓝桥杯赛事,力争取得优异的成绩。
扫码或长按加入微信群