问题描述
扑克牌排序:构造扑克牌数组,对扑克牌进行排序。排序原则如下:数字从小到大是2-10、J、Q、K和A,花色从小到大是方块(diamond)、梅花(club)、红桃(heart)、黑桃(spade)。两张牌比较时先看数字,数字相同时看花色。要求对输入的扑克牌进行从小到大排序。
输入五张牌(表示黑桃2、红桃3、黑桃3、方块A和梅花J): 2 s 3 h 3 s A d J c
输出结果应为:2 s 3 h 3 s J c A d数组长度固定为5。
参考思路:https://blog.dotcpp.com/a/65385
str=input().replace("10","a")
li=[]
l1=['2','3','4','5','6','7','8','9','a','J','Q','K','A']
l2=['d','c','h','s']
for i in range(0,len(str),2):
li.append([str[i],str[i+1],l1.index(str[i]),l2.index(str[i+1])])
li.sort(key=lambda x:x[3])
li.sort(key=lambda x:x[2])
for i in range(len(li)):
if li[i][0]=='a':
print("10" + li[i][1], end=" ")
else:
print(li[i][0]+li[i][1],end=" ")



