You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python 3.7(VS Code)的Blackjack游戏中提取卡牌整数分值?

解决Blackjack手牌数值提取问题

嘿,我来帮你搞定这个问题!你的player_hand结构是一个列表,第一个元素是从suit字典里取出的键值对元组(比如('Nine', 9)),第二个元素是花色字符串。要拿到卡牌的数值,你只需要访问这个元组的第二个元素就行。

具体实现代码

你可以直接通过索引定位到目标数值:

import random
suit = {'Jack': 10, 'Queen': 10, 'King': 10, 'Ace': [1,11],'Two':2,'Three':3, 'Four':4,'Five':5,'Six':6,'Seven':7,'Eight':8,'Nine':9}
symb = ['Spade','Clubs','Heart','Diamonds']

player_hand = random.sample(suit.items(), 1) + random.sample(symb, 1)
print("玩家手牌:", player_hand)

# 提取卡牌对应的数值
card_value = player_hand[0][1]
print("卡牌数值:", card_value)

代码解释

  • player_hand[0]:获取列表中的第一个元素,也就是包含牌面和数值的元组(比如('Nine', 9))
  • [1]:从这个元组中取出第二个元素,也就是你需要的整数(对于Ace来说是[1,11]列表)

额外提示

针对Ace的特殊情况,后续计算得分时你可能需要添加逻辑判断:比如当当前总分加上11不会超过21时,就用11;否则用1,这样能避免爆牌。

内容的提问来源于stack exchange,提问作者Zoh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:11:20