题解 | #扑克牌大小#

扑克牌大小

https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb

import sys


def pokerlist(a):
    a0 = []
    for i in a.split(" "):
        if i == "J":
            a0.append(11)
        elif i == "Q":
            a0.append(12)
        elif i == "K":
            a0.append(13)
        elif i == "A":
            a0.append(14)
        elif i == "2":
            a0.append(15)
        elif i == "joker":
            a0.append(21)
        elif i == "JOKER":
            a0.append(22)
        else:
            a0.append(int(i))
    return a0
def turnvalue(a1):
    if a1 == [21,22]:
        return 4,10000
    for i in range(len(a1)-1):
        if a1[i]+1 == a1[i+1]:
            continue
        else:
            break
    else:
        return 10,max(a1)
    if a1.count(a1[0]) == 4:
        value1 = 1000+a1[0]
        return 4,value1
    if a1.count(a1[0]) == 3:
        value1 = 100+a1[0]
        return 3,value1
    if a1.count(a1[0]) == 2:
        value1 = 100+a1[0]
        return 2,value1
    if a1.count(a1[0]) == 1:
        value1 = sum(a1)
        return 1,value1

for line in sys.stdin:
    a = line.strip().split("-")
player1 = pokerlist(a[0])
player2 = pokerlist(a[1])
type1,value1 = turnvalue(player1)
type2,value2 = turnvalue(player2)
if type1 == 4 or type2 == 4:
    if value1>value2:
        print(a[0])
    else:
        print(a[1])
elif type1 == type2:
    if value1>value2:
        print(a[0])
    else:
        print(a[1])
else:
    print('ERROR')





全部评论

相关推荐

08-19 17:40
Java
吴offer选手:666 打老板了吗
点赞 评论 收藏
分享
秋招到现在0offer,给各位985✌️丢脸了,不想再实习了,女朋友前几天还跟我忽然替分手了,搞得职场情场双失意😭虽然现在每天的工作就是坐着,闲得蛋疼,但打算润了准备考公了😡
迷茫的大四🐶:别慌,分析一波: 1.985学历,不脱腿,些许加分 2.有实习,说明具有一定实力和经验 3.女友离去,未来道路没有顾虑,放心前行 4.依旧年轻,拥有大好年华 加油,佬,不要被一时阴霾遮蔽双眼
实习心态崩了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务