怎样快速记忆英语数字,少儿Python每日一题(3):数字排序
原题解答
本次的题目如下所示(原题出处:蓝桥杯):
【编程实现】
连续输入5个正整数(正整数之间以英文逗号隔开),然后将五个正整数按照
从大到小的顺序输出(输出排序后的正整数之间以英文逗号隔开,相同大小的
正整数并列输出)。
输入描述:输入5个正整数以英文逗号隔开
输出描述:将5个正整数按照从大到小的顺序输出,正整数之间英文逗号隔
开
【样例输入】
3,2,5,5,4
【样例输出】
5,5,4,3,2
本题是一个典型的列表排序题。这道题除了排序的问题外,还涉及到两个问题:第一是同一行输入多个数以逗号隔开;第二是同一行输出多个数以逗号隔开。
我们先来解决第一个问题,首先我们可以通过字符串的split()方法将字符串按照分隔符分隔成列表。但是分隔后的列表每个元素类型是字符串。我们可以使用内置的map()函数可以实现对每个元素的类型转换,因此第一行可以写成这样:
a = list(map(int, input().split(',')))
这里面有一个难点,map()函数属于Python内置函数中的高阶函数,相对比较难掌握。如果不会使用map()函数,可以使用稍微繁琐一点的方法,通过循环更改每个元素的数据类型:
a = input().split()for i in range(len(a)): a[i] = int(a[i])
下面我们再来解决第二个问题,列表如何输出成以元素之间以逗号隔开的形式。 在函数里面,大家学习过位置参数的概念,在print中如果将列表的变量名称前加*,将会把列表的每个元素作为print()函数里面的参数,print每个参数打印时默认分隔符为空格,我们将它修改成逗号即可,语句格式:
print(*a, sep=',')
如果没有掌握这个操作也没关系,我们还可以排序以后使用join()方法拼凑成字符串打印,但是要注意的是,使用join()方法时,列表所有元素的数据类型必须是字符串:
for i in range(len(a)): a[i] = str(a[i]) s = ','.join(a)print(s)
解决了这两个问题,我们最后再来看排序。
方法一(列表的sort()方法):
a = list(map(int, input().split(','))) a.sort(reverse=True)print(*a, sep=',')
方法二(内置函数sorted()):
a = list(map(int, input().split(','))) a = sorted(a, reverse=True)print(*a, sep=',')
其他方法:
如果不觉得麻烦,除了使用Python自带的方法和函数外,也可以自己写排序的语句,具体参照Python的排序算法和查找算法这篇文章。不过考试和比赛时关键是要能实现相关的功能即可,没必要给自己增加代码量和难度。
本题拓展
该题目主要考查排序的使用以及一行多数据的输入和输出,题目难度:★★
在少儿编程竞赛中,一行输入和输出多数据是经常会出现的问题。如果无法理解map()函数和变量名前面加*这两种写法,也可以将这两行代码熟记于心。对于提高自己的编程效率很有帮助。
针对此类题型,这里编一道难度略高于原题的题目:
【编程实现】
连续输入10个正整数(正整数之间以英文逗号隔开),然后将奇数和偶数分类。奇数按照从大到小的顺序排序并输出,以逗号隔开;偶数按照从小到大的迅速排列并输出,以逗号隔开。
输入描述:输入10个正整数以英文逗号隔开
输出描述:分两行输出,第一行为排好序的奇数,数字之间英文逗号隔开;第二行为排好序的偶数,数字之间英文逗号隔开
【样例输入】
8,2,5,7,6,1,9,4,10,3
【样例输出】
9,7,5,3,12,4,6,8,10
本题与原题相差不大,多了一个分类整理的问题,我们需要新建两个空列表,并对列表中的值进行判断,奇数放入一个列表中,偶数放入另一个列表中,并分别对两个列表进行排序。
a = list(map(int, input().split(','))) odd = [] even = []for i in a: if i % 2 == 1: odd.append(i) else: even.append(i) odd.sort(reverse=True) even.sort()print(*odd, sep=',')print(*even, sep=',')
英语数字游戏,英语的星期一到星期六,为什么和123456没关系?
英语数字1-10,英语数词综合
精选推荐
- [记忆方法] 最有效的备考方法,法考如何备考,2021年高考备考:8种高效记忆方法
- [记忆方法] 考前快速大量记忆技巧,最有效的备考方法,考前冲刺:一消备考也要动脑筋,这样记忆方法大多数考生并不知道
- [记忆方法] 怎样快速记忆知识点且记得牢,考前快速大量记忆技巧,会计从业备考不放假,六大归纳记忆法带你飞!
- [记忆方法] 快速记忆方法的小窍门,怎样快速记忆知识点且记得牢,这些记忆方法让你学习、备考的效率大大提升!
- [精品记忆课] 记忆课程有没有效果,记忆力课程,“超强记忆”吸引家长买了课,没上几节校长就失联,41名家长能要回16万余元的培训费用吗?
- [精品记忆课] 最强大脑记忆训练法视频,记忆课程有没有效果,超强记忆系统课_第2节 底层逻辑篇 超强记忆系统课_第2节
- [古诗词记忆] 孩子记忆力差,背书困难怎么办,有什么快速背书的方法,有用的背书方法,快收藏码住吧~
- [记忆方法] 记忆的方法和技巧,记忆宫殿训练方法,技巧:熟记这些顺口溜,轻松记忆历史朝代知识
- [记忆方法] 历史朝代记忆口诀,记忆的方法和技巧,我国历史朝代顺序记忆口诀
- [古诗词记忆] 文科怎么背怎样才能记得住,文科背书怎么背得快又牢固,文科成绩难提高?你需要这12个方法