質問

だから、私の個人的な挑戦は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
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top