Python 我的简单函数没有返回预期值
我想我需要制作一个black jack游戏的其中一个功能: 功能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))
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':