题解 | #扑克牌大小#

扑克牌大小

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')





全部评论

相关推荐

淬月星辉:专利是什么?至少描述一下吧,然后把什么计算机二级、普通话这种拉低格调的证书删掉,不然hr以为你没东西写
点赞 评论 收藏
分享
10-17 23:18
已编辑
西北农林科技大学 Web前端
独行m:给25可以试试,但他只能给12,那就是纯纯的事精
秋招,不懂就问
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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