建筑a";“甲板”;用python
我刚刚开始学习编程,现在正试图编写一个21点程序。我遇到的一个问题是我如何表现一副牌,以下是我是如何做到的(西装对我来说无关紧要): 问题是当脸牌被“发牌”时,当我希望它们显示为J、Q、K或a时,它们会显示10(11代表a…) 以下是交易功能:建筑a";“甲板”;用python,python,Python,我刚刚开始学习编程,现在正试图编写一个21点程序。我遇到的一个问题是我如何表现一副牌,以下是我是如何做到的(西装对我来说无关紧要): 问题是当脸牌被“发牌”时,当我希望它们显示为J、Q、K或a时,它们会显示10(11代表a…) 以下是交易功能: def deal(competitor, x): for i in range (0,x): card = shoe[0] dealt.append(card) competitor.append
def deal(competitor, x):
for i in range (0,x):
card = shoe[0]
dealt.append(card)
competitor.append(card)
shoe.remove(card)
有任何修复吗?首先,进行这种映射的最简单方法是使用字典。第二,你的
牌组
现在的样子会遇到问题。您可以使用以下内容表示牌组并查找面卡:
face_map = {'A':11, 'J':10, 'Q':10, 'K':10}
deck = list('A23456789JQK'*4)
有了这个新的卡片组
和人脸映射
,您可以使用人脸映射查找任何给定卡片的值。get(card)或int(card)
,这将返回任何人脸卡的检索值,或非人脸卡的整数值。下面是一个演示:
>>> print(*(face_map.get(card) or int(card) for card in 'A23456789JQK'))
11 2 3 4 5 6 7 8 9 10 10 10
首先,进行这种映射的最简单方法是使用字典。第二,你的
牌组
现在的样子会遇到问题。您可以使用以下内容表示牌组并查找面卡:
face_map = {'A':11, 'J':10, 'Q':10, 'K':10}
deck = list('A23456789JQK'*4)
有了这个新的卡片组
和人脸映射
,您可以使用人脸映射查找任何给定卡片的值。get(card)或int(card)
,这将返回任何人脸卡的检索值,或非人脸卡的整数值。下面是一个演示:
>>> print(*(face_map.get(card) or int(card) for card in 'A23456789JQK'))
11 2 3 4 5 6 7 8 9 10 10 10
在列表中插入
A='A'
,而不是A=11
。您可以使用将键(例如字符串)与值(例如int)关联的字典:deck={'A':10,'2':2,…}
。在列表中插入A='A'
,而不是A=11
。您可以使用关联键(例如字符串)的字典对于值(例如int):deck={'a':10,'2':2,…}
。