擅长:python、mysql、java
<p>这里有个提示。<strong>这绝不是完整的或被认为是生产代码</strong>。它甚至可能无法运行或编译。我使用一个额外的数组将“stringlist”中的值映射到它们的等效值。更正式的实现将使用更高级的数据结构(哈希表、对象)。“王牌”卡的双值(11或1)需要额外的工作。在</p>
<p>另外,“stringlist”数组实际上是字符串和整数的混合。请考虑将此数组中的每个项设为字符串。在</p>
<pre><code>stringlist=[2,3,4,5,6,7,8,9,10,"J","Q","K","A"]
valuelist= [2,3,4,5,6,7,8,9,10,10, 10, 10, 11]
def getCardValue(c):
for i in stringlist:
if (stringlist[i] == c):
return valuelist[i];
return 0
def isBlackJack(c1, c2):
return (21 == (getCardValue(c1)+getCardValue(c2))
def blackjack1(cards):
if (isBlackJack(cards[0], cards[1])):
print "BlackJack!"
</code></pre>