21点游戏A计算方法
1.A既可以作为1,也可以作为11,计算所有牌面的总点数
2.算法逻辑:不管有多少个A,只把第一个A先计算成11,加起来,总和如果超过21点,把第一个A变成1
3.代码:
def count_points(foker_list):
foker_list_tmp = []
foker_list_len = len(foker_list)
for i in foker_list:
foker_list_tmp.append(i)
for i in range(foker_list_len):
if foker_list_tmp[i] in ('J','K','Q'):
foker_list_tmp[i]=10
for i in range(foker_list_len):
if foker_list_tmp[i] == 'A':
foker_list_tmp[i] = 11
break
for i in range(foker_list_len):
if foker_list_tmp[i] == 'A':
foker_list_tmp[i] = 1
total=0
for i in range(foker_list_len):
total += int(foker_list_tmp[i])
if total > 21:
for i in range(foker_list_len):
if foker_list_tmp[i] == 11:
foker_list_tmp[i] = 1
total=0
for i in range(foker_list_len):
total += int(foker_list_tmp[i])
return total
foker_list = ['A', 'A', '5']
player_score3 = count_points(foker_list)
print(player_score3)
print(foker_list)
17
['A', 'A', '5']
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)