私は現在、特定の質問でトランプカードのリストを取り、クラスを使用してRoyal Flush
であるかどうかを判断する課題に取り組んでいます。Pythonの属性とメソッドの使い方が分かりません
講師は、彼が書いた部分を変更することなく、残りの部分を構築しなければならないコードのスケルトンを提供しました。
#Lecturer created...
class PokerHand(Hand):
def __init__(self, cards = list()):
Hand.__init__(self, cards)
self.handRank = 0
self.hand = "High Card"
#I have so far added this part...
total_value = 0
val_card_b4 = 0
for card in self.cards:
if Card.getValue(card) > val_card_b4:
total_value += Card.getValue(card)
val_card_b4 = Card.getValue(card)
checkRoyalFlush()
#...to here. However it throws an error that checkRoyalFlush isn't defined.
#The lecturer then had what is below already added.
def checkHand(self):
if self.checkRoyalFlush():
self.handRank = 9
self.hand = "Royal Flush"
print("Test")
Iすでに私はカードを作成することができます以前の問題のCard
クラスを作成しているobject
カードの値を取得する(A=11, 2-10 equal face value etc.
)
私の問題は、私はカードを確認したら、ということです私はcheckHand
メソッドでif self.checkRoyalFlush():
ステートメントを「アクティブにする」方法を知りません。
私が実行して取得する必要がありますコードは次のとおりです。
h1 = PokerHand([Card('hearts', '10'), Card('clubs', '10'),Card('hearts', '2'),Card('hearts', '3'),Card('spades', 'J')])
h1.show()
print(h1.checkHand())
私は研究ロンドの時間を費やしているし、それを把握することはできませんように私は、if文の作業を取得する方法を理解したいと思います。私は、Pythonの初心者であり、オブジェクト指向の新しい側面です。
編集:私はまた、「checkRoyalFlush」を定義する方法がわからない、それはより多くのエラーを取得せず
自分で 'self.checkRoyalFlush()'を書く必要があると仮定します。 'checkHand'を呼び出すことによって呼び出されます。 – Morgoth
@Morgoth、はい、私は実際にはthnksと言って私のQを編集する必要があります。私は実際にそれを定義する方法、あるいはそれを最初に等しいものにすることを実際には知らない。 – Gurfuffle
@Gurfuffleそれは方法になりたいと思われる。 'def checkHand(self):'メソッドと同様に定義してください。 –