こんにちは私は自分でブラックジャックのゲームを作って初心者のプロジェクトをやっています。それはうまくいっているし、エース値に1または11を選択することさえできる。私の問題は、自分自身のためにデッキからカードを取り除こうとしていることと、ディーラーを追加するときです。リストの値を削除する
ここで私は
from random import randint
def CardDeck():
#sets the card types and values
CardValue = ['Ace','2','3','4','5','6','7','8','9','10','J','Q','K']
CardType = ['Hearts','Spades','Clubs','Diamonds']
Deck = []
Card = randint(0,(len(CardValue)*len(CardType)))
#This iterates all 52 cards into a deck
for i in CardType:
for j in CardValue:
Deck.append(j + ' of ' + i)
temp = Deck[Card]
Deck.remove(Deck[Card]) #this should remove the card from the deck
return temp
カードが 'Deck'から正常に削除されたように見えますが、1行後に機能を終了し、' Deck'が完全に存在しなくなります。関数をもう一度呼び出すと、新しい名前の 'Deck'が作成されます。その名前を持つオブジェクトへの接続は全くありません。 'Deck'が複数の関数呼び出しの状態を維持するようにしたい場合は、毎回関数の中に新しい関数を作成することはできません。 – Kevin
私はこれをどうお勧めしますか?私が想定している機能の外にあるものはすべて持っていますか? –
BTW:Pythonでは、関数名と変数名をsnake_caseで指定し、小文字で始めるのが一般的です。クラス名にはCamelCaseを使用します。 – Pax0r