import random
class player():
def __init__(self, deck):
self.deck = deck
self.hand = []
self.results = []
def draw(self,draws):
for counter in range(0, draws, 1):
card = random.randrange(0, len(self.deck), 1)
self.hand.append(self.deck[card])
del self.deck[card]
def return_hand(self):
for returncounter in range(0, len(self.hand), 1):
self.deck.append(self.hand[returncounter])
for returncounter in range(0, len(self.hand), 1):
del self.hand[0]
def simple_function(self):
for counter in range(0, 3, 1):
print("Loop", counter)
self.draw(3)
print("Hand", simple_cards.hand)
self.results.extend(self.hand)
print("Results before return", simple_cards.results)
self.return_hand()
print("Results after return", simple_cards.results)
print("")
simple_cards = player(["A1", "A2", "A3", "B1", "B2", "B3", "C1", "C2", "C3"])
simple_cards.simple_function()
print("Results after function", simple_cards.results)
Loop 0
Hand ['B3', 'B2', 'C3']
Results before return ['B3', 'B2', 'C3']
Results after return ['B3', 'B2', 'C3']
Loop 1
Hand ['C2', 'B3', 'A1']
Results before return ['B3', 'B2', 'C3', 'C2', 'B3', 'A1']
Results after return ['B3', 'B2', 'C3', 'C2', 'B3', 'A1']
Loop 2
Hand ['C2', 'B2', 'C1']
Results before return ['B3', 'B2', 'C3', 'C2', 'B3', 'A1', 'C2', 'B2', 'C1']
Results after return ['B3', 'B2', 'C3', 'C2', 'B3', 'A1', 'C2', 'B2', 'C1']
Results after function ['B3', 'B2', 'C3', 'C2', 'B3', 'A1', 'C2', 'B2', 'C1']
はどのように作るのですかだろう、このコードに起因するような結果3ネストされたリスト[[ 'B3'、 'B2'、 'C3']、 [C2、B3、A1]、[C2、B2、C1]]
ここで理解していないかなり基本的なことがあるように感じる質問は確かにすでに答えられていますが、私は自分自身を検索することによってそれを見つけるために質問をよりよくフレームする方法を知らない。
Iは追記(self.hand)をしようとした([self.hand])を延ばすが、両方は、それらが、任意の助けを
Loop 0
Hand ['B3', 'A2', 'B2']
Results before return [['B3', 'A2', 'B2']]
Results after return [[]]
Loop 1
Hand ['B2', 'B3', 'C3']
Results before return [['B2', 'B3', 'C3'], ['B2', 'B3', 'C3']]
Results after return [[], []]
Loop 2
Hand ['C2', 'B3', 'A2']
Results before return [['C2', 'B3', 'A2'], ['C2', 'B3', 'A2'], ['C2', 'B3', 'A2']]
Results after return [[], [], []]
Results after function [[], [], []]
おかげの出力例で得られた解決以上の問題を作成しました。
感謝。 Pythonのドキュメント/チュートリアルの特定の部分はありますか?これは、私が別の変数を指し示すときに、まったく新しい値を作成するときに明確にするのに役立ちますか? 私は試行錯誤を通して学ぶと思います。なぜなら、私はPythonのドキュメントで使われている用語を部分的にしか理解していないので、それを読んでも分かりにくいものにならないからです。 – Diofsi
@Diofsi [glossary](https://docs.python.org/3/glossary.html)で、ドキュメントで使用されているさまざまな用語を確認できます。 [データモデル](https://docs.python.org/3/reference/datamodel。html)をPythonリファレンスから参照してください。要するに、オブジェクトを変更するかどうかを調べるメソッドを呼び出すときには、ドキュメントをいつでも参照することができます。 – niemmi