- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试实现一个函数 craps()
,它不接受任何参数,模拟一场掷骰子游戏,如果玩家赢了则返回 1
并且 0
如果玩家输了。
游戏规则:游戏从玩家掷一对骰子开始。如果玩家总共掷出 7 或 11,则玩家获胜。如果玩家掷出的总数为 2,3 或 12,则玩家输了。对于所有其他掷骰值,游戏继续进行,直到玩家再次掷出初始值(在这种情况下玩家获胜)或 7(在这种情况下玩家输)。
我想我越来越接近了,但我还没有,我认为我的 while 循环还没有正常工作。这是我到目前为止得到的代码:
def craps():
dice = random.randrange(1,7) + random.randrange(1,7)
if dice in (7,11):
return 1
if dice in (2,3,12):
return 0
newRoll = craps()
while newRoll not in (7,dice):
if newRoll == dice:
return 1
if newRoll == 7:
return 0
如何修复 while 循环?我真的找不到它的问题,但我知道它是错误的或不完整的。
最佳答案
因为这一行,你永远不会进入 while 循环:
newRoll = craps()
就到此为止吧。所以它只会执行 craps() 函数的顶部部分。您只需要使用之前的相同角色代码即可。我想你想要这样的东西:
newRoll = random.randrange(1,7) + random.randrange(1,7)
while newRoll not in (7,dice):
newRoll = random.randrange(1,7) + random.randrange(1,7)
if newRoll == dice:
return 1
if newRoll == 7:
return 0
关于python - 模拟掷骰子游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16699893/
我是 Java 新手,我正在尝试创建一个数组列表。 我制作了一个小程序,要求用户提供要掷的骰子数量: System.out.println("How many dices do you wan
我目前需要一些关于“简单”问题的建议。我正在构建一个游戏助手,用户可以在其中掷骰子(6 面骰子、20 面骰子等)。实际上,我只向用户显示号码。但是,为了更好用,我想在屏幕上显示骰子(例如,在带有自定义
我刚刚开始学习 Java 编程,并编写了一个程序来掷 x 面骰子 x 次。边数和卷数由用户输入定义。该程序以 JTable 格式给出每个数字的绝对频率和相对频率。一切都很顺利,直到您为侧面和卷数选择较
这段代码的用途:模拟100场CRAPS,记录第一轮输,第一轮赢,第二轮负加分,第二轮赢加分的#。 那些不熟悉掷骰子规则的人;您基本上掷两个骰子,如果结果不是 2、3 或 12 的总数,您可以再次掷骰(
所以我为龙与地下城创建了一个基本的掷骰子 dicord 机器人。 我到目前为止的代码可以掷任何类型的骰子,(例如“roll xdy”“roll 1d20”,“roll 100d100”) 当有人发送匹
我有一些关于java的问题。代码中有两个问题(我将它们作为注释留下)。另外使用设置和获取方法的目的是什么?您能简单地解释一下吗?我是初学者。谢谢:) public class Die { pri
尝试绘制 2 个骰子总和的 pmf,但出现一些右尾问题。 我尝试过使用 numpy 和其他 python 库,但问题仍然存在: import tensorflow as tf tf.enable_ea
当掷 2 个六面骰子时,最常见的结果应该是 7,而 2 和 12 是最不常见的结果。 当我执行下面的代码时,数字 12 的出现频率很高,这是错误的。 #include #include #incl
我正在尝试学习 Python 库 itertools,我认为一个好的测试是模拟掷骰子。使用 product 并使用 collections 库计算可能的方法数,很容易生成所有可能的滚动。我正在尝试解决
所以我做了这个掷骰子 100 次的方法,有 50% 的机会掷出 6。基本思想是 1 到 6 之间有 50% 的奇数和 50% 的偶数,所以如果掷出偶数,系统打印 6,否则打印 1 到 5 之间的随机数
我是 C++ 的初学者,这是家庭作业,但我卡住了。我还有一个问题,然后我就完成了。我想不出一种算法可以判断用户输入的是小直线 (1234) 还是 (2345) 还是 (3456)。我知道如何使用循环来
我是一名优秀的程序员,十分优秀!