Python 我的简单函数没有返回预期值

Python 我的简单函数没有返回预期值,python,Python,我想我需要制作一个black jack游戏的其中一个功能: 功能 def card_value_dealer(card_variable): if card_variable == 'A': return 11 elif card_variable == 'J' or 'Q' or 'K': return 10 else: return card_variable print(card_value_dealer(7))

我想我需要制作一个black jack游戏的其中一个功能:

功能

def card_value_dealer(card_variable):
    if card_variable == 'A':
        return 11
    elif card_variable == 'J' or 'Q' or 'K':
        return 10
    else:
        return card_variable

print(card_value_dealer(7))
在本例中,我希望函数返回7,但在这里以及对于每个其他参数值,它总是返回10(除非参数为“A”,那么它确实返回正确的值11)


为什么会发生这种情况?

条件
elif card\u变量=='J'或'Q'或'K'
没有执行您认为它正在执行的操作。它首先检查
card\u变量
是否具有值
'J'
,然后,如果该值为false,则继续检查布尔表达式
'Q'
是否为true,在这种情况下,它只是一个文本值,始终为true

您大概想要检查该值是否在特定值列表中,可以这样做:
elif-card\u变量在('J','Q','K'):

您还可以在字符串中再次测试:
elif-card\u变量在'JQK':