Python 3でリストからアイテムを繰り返し削除するにはどうしたらいいですか?最初の項目ではコードが機能しますが、項目を再度削除するメソッドを適用しようとするとTypeError
が生成されます。ここで私が働いているコードは次のとおりです。クラスオブジェクト(Python)のリストからアイテムを繰り返し削除
ブラックジャックのゲーム
from random import choice
class Black_jack_deck(object):
def __init__(self, full_deck=(([str(i) for i in range(2,11)]+["A","J","Q","K"])*4*6)): #a deck of 312 cards containing 6* 52 french cards
self.full_deck = full_deck
def draw(self, draw=True):
self.draw = choice(self.full_deck) #I use choice to simulate the dealer drawing a card from the top of a mixed card staple
return self.draw
self.full_deck = (self.full_deck).remove(self.draw)
deck = Black_jack_deck()
私は二度目のdeck.draw()
を呼び出すしようとすると生成されるエラーは次のようになります。
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
deck.draw()
TypeError: 'str' object is not callable
注意たとえchoice()
機能がなくても、pop()
をシャッフルしたfull_deck
に使用しても、同じエラーが発生します。
正しく書式設定されたコードを投稿してください。空白はPythonでは構文上意味があり、これは機能しません。 – Morgoth
'self.draw'という名前の関数と変数を持っているようです。 Pythonにどのような意味があるのか、どのように認識されると思いますか? – Craig
Pythonはそれがどれかを "知っている":それは最後に設定されたものです。あなたは*もう一方を上書きしています。 –