Python BlackJackゲーム - 代入前に参照されます
-
26-12-2019 - |
質問
だから、私の個人的な挑戦はPythonで単純なブラックジャックゲームを作ることです。これは私がそれをやって行った方法です:
singlePlayerCard = random.choice(availableCards)
singlePlayerCard2 = random.choice(availableCards)
if(singlePlayerCard == [1,2,3,4,5,6,7,8,9,10]):
singlePlayerCardValue = singlePlayerCard
if(singlePlayerCard2 == [1,2,3,4,5,6,7,8,9,10]):
singlePlayerCard2Value = singlePlayerCard2
singlePlayerCardValueTotal = singlePlayerCardValue+singlePlayerCard2Value
print ("The total of your card values is %i"%singlePlayerCardValueTotal)
.
singlePlayerCardValueTotal
の印刷時には、singlePlayerCardValue
またはsinglePlayerCard2Value
が割り当て前に参照されていることを示します。私が行った別の単純なプログラムとこの問題を抱えていたので、私がこの問題を持っていたので、私がこの問題が私に混乱していますが、構造はここでは違います。前述の問題とは別に、うまく機能していました。また、時間があれば、必要に応じていくつかの分野へのより良い解決策を教えてください。
いつものように、事前にありがとう!:)
解決
あなたのコメントに留意したように、「代入前に参照される」とは、値が与えられた前に変数を述べたことを意味します。
あなたの問題はこれがこれであるように見えます:
if(singlePlayerCard == [1,2,3,4,5,6,7,8,9,10]):
singlePlayerCardValue = singlePlayerCard
.
あなたのsinglePlayerCard
はのリスト[1,2,3,4,5,6,7,8,9,10]
と等しい以降、番号カードの場合は変数に値を割り当てません。
==
演算子は、リストに値が含まれているかどうかを確認する方法ではありません。これを試してください。代わりに:
if(singlePlayerCard in [1,2,3,4,5,6,7,8,9,10]):
singlePlayerCardValue = singlePlayerCard
. 所属していません StackOverflow