原题链接:蓝桥杯算法提高VIP-扑克排序
解题思路:
①将2~10,J,Q,K,A 分别对应下标0~13
②将颜色方块(d)、梅花(c)、红桃(h)、黑桃(s)分别对应下标0~3
③将结果存放在result数组中,数组中每个元素为一个4*1大小的数组,result[i] = [数字,花色,数字对应下标,花色对应下标]
④将result数组按照数字对应下标和花色对应下标进行排序result.sort(key = lambda x:(x[2],x[3]))
⑤按照格式输出结果即可。
注意事项:
参考代码:
def f(num,color): num_index = ['2','3','4','5','6','7','8','9','a','J','Q','K','A'] color_index = ['d','c','h','s'] result = [] for i in range(len(num)): result.append([num[i],color[i],num_index.index(num[i]),color_index.index(color[i])]) result.sort(key = lambda x:(x[2],x[3])) for item in result: print('{}{}'.format(item[0],item[1]),end=' ') s = input().replace('10','a') num = s[::2] color = s[1::2] f(num,color)
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复