四口鲸鱼爱吃盐


私信TA

用户名:uq_98591838827

访问量:1408

签 名:

等  级
排  名 463
经  验 4587
参赛次数 0
文章发表 28
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
利用列表的 list.sort(key=(lambda)) 方法,具体见代码注释。

参考代码:

s = input().replace('10', 't')  # 10占2位,变成1位便于处理
NUM = ['2', '3', '4', '5', '6', '7', '8', '9', 't', 'J', 'Q', 'K', 'A']
DECOR = ['d', 'c', 'h', 's']
num = s[::2]        # 取出每张牌数字
decor = s[1::2]     # 取出每张牌花色

lis = []
for i in range(len(num)):
    n, d = num[i], decor[i]
    temp = [n, d, NUM.index(n), DECOR.index(d)]
    # 数字,花色,数字的顺序,花色顺序
    lis.append(temp)
    lis.sort(key=(lambda x:x[-1]))  # 先根据花色排序
    lis.sort(key=(lambda x:x[-2]))  # 再根据数字排序

for i in lis:
    if i[0] == 't':
        print('10'+i[1], end=' ')
    else:
        print(i[0]+i[1], end=' ')


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区