关于python中骰子扑克的简单问题

发布于 2024-10-27 21:55:02 字数 457 浏览 1 评论 0原文

我正在按照教科书示例构建骰子扑克游戏。下面是一段我不太明白的代码片段,但它确实有效。那么在run方法下的while循环中,第二个条件是TextInterface类中的wantToPlay方法必须为true,对吗?但是当我查看wantToPlay方法时,没有给出布尔结果,即没有给出它是否为真。有人可以解释这是如何工作的吗?

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"

I'm following along a textbook example of building a dice poker game. Below is a snippet of code I don't quite understand but it does work. So in the while loop under the run method, the second condition is that the wantToPlay method in the TextInterface class must be true, correct? But when I look at the wantToPlay method, there is no boolean result i.e. whether it's true or not is not given. Can someone explain how this works?

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"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吃颗糖壮壮胆 2024-11-03 21:55:02

这将返回一个布尔值:

return ans[0] in "yY"

可以将其视为:

if ans[0] in "yY":
    return True
else:
    return False

This returns a boolean:

return ans[0] in "yY"

Think of it as saying:

if ans[0] in "yY":
    return True
else:
    return False
别挽留 2024-11-03 21:55:02

它确实返回一个布尔值,试试这个:

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

解析为 True。它正在评估字符串 ans 中的第一个字符是 Y 还是 y

It does return a boolean, try this:

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

That resolves to True. It is evaluating whether the first character in string ans is Y or y.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文