0

私はサイコロ ポーカー ゲームを構築する教科書の例に従っています。以下は、私がよく理解していないコードのスニペットですが、動作します。つまり、run メソッドの下の while ループでは、2 番目の条件は、TextInterface クラスの wantToPlay メソッドが true でなければならないということですよね? しかし、wantToPlay メソッドを見ると、ブール値の結果はありません。つまり、true かどうかは指定されていません。誰かがこれがどのように機能するか説明できますか?

class PokerApp:
    def run(self):
        while self.money >= 10 and self.interface.wantToPlay():
            self.playRound()

class TextInterface:
    def wantToPlay(self):
        ans = input("do you wish to try your luck? ")
        return ans[0] in "yY"
4

2 に答える 2

4

これはブール値を返します:

return ans[0] in "yY"

次のように言っていると考えてください。

if ans[0] in "yY":
    return True
else:
    return False
于 2011-03-29T15:00:42.227 に答える
1

ブール値を返します。これを試してください:

ans = 'Yes'
ans[0] in 'yY'

それは に解決されTrueます。文字列 ans の最初の文字がYまたはであるかどうかを評価していますy

于 2011-03-29T15:02:43.160 に答える