整数比较的python问题

yam*_*yam 5 python

我在纸牌游戏中使用了一个功能,检查每张卡的价值,看看它是否高于最后一张卡.

def Valid(card):
prev=pile[len(pile)-1]
cardValue=0
prevValue=0
if card[0]=="J":
    cardValue=11
elif card[0]=="Q":
    cardValue=12
elif card[0]=="K":
    cardValue=13
elif card[0]=="A":
    cardValue=14
else:
    cardValue=card[0]
prevValue=prev[0]
if cardValue>prevValue:
    return True
elif cardValue==prevValue:
    return True
else:
    return False
Run Code Online (Sandbox Code Playgroud)

问题是,每当我得到一张面部卡时,它似乎都无法运作.例如,它认为13> 2是真的

编辑:抱歉,我的意思是认为13> 2是假的

Jus*_*eel 11

我认为你的意思是说"2"> 13这是真的.你需要改变

cardValue=card[0]
Run Code Online (Sandbox Code Playgroud)

cardValue=int(card[0])
Run Code Online (Sandbox Code Playgroud)