- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试制作一个函数来给出风险游戏中一掷骰子的赢/输率。
对于那些不知道的人,在 Risk 中有一个攻击者和防御者,攻击者的最大死亡数与防御者的最大死亡数进行比较,并且对每一对骰子重复这种情况,直到防御者不再有剩余的骰子。如果攻方获胜,则守方损失 1 个军队,如果守方死亡等于或大于,则攻击方损失 1 个军队。
所以如果我运行我应该得到的代码
result([1, 4, 5], [3, 2])
(0, -2)
因为 5>3 和 4>2,攻击者输了两个。
当我尝试运行我的代码时,出现列表索引错误,非常感谢任何帮助修复错误的帮助。
def result(n,m):
first=0
second=0
n=(sorted(n))[::-1]
m=(sorted(m))[::-1]
while len(n)>len(m):
n = n[:-1]
while True:
for i in m:
if n[i] > m[i]:
second -= 1
elif n[i] <= m[i]:
first -= 1
else:
break
return (first,second)
最佳答案
在您的 for i in m
循环中,i
的值是 m
的内容,而不是m
的索引。在您的示例中,第一次通过该循环 i
是 m
的第一个值,即 3,因此您的条件 if n[i] > m[ i]
正在执行 if n[3] > m[3]
。 3
超出了 m 的索引范围,因此 IndexError
。
关于python - 列出 "Risk"骰子游戏的索引错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40611972/
我刚刚向自己介绍了 WebGL 和 Threejs,作为开始,我正在尝试创建一个 3D 骰子。我已经到了创建立方体的地步,但我真的不知道如何在立方体的面上放置数字,我能找到的只是如何更改颜色。我已经查
这就是我现在得到的...... var max = 7; var min = 1; $('#dice').click(function() { random = Math.floor(Math.r
我是 Unity 的新手,一直在尝试掷骰子。我遇到了一组教程,它们允许我创建一个 3d 模具(模具使用 Rigidbody 和 Mesh Collider)并编写脚本使其在空格键上滚动,如下所示: 骰
我是 JavaScript 新手,我需要一些想法/帮助来了解如何使我的脚本正常工作。所以我们的想法是,你掷两个骰子,通过按下“掷骰子”按钮然后按下重置按钮来重置整个 HTML 中的所有内容。 所以事情
我正在尝试构建一个掷骰子游戏,如果计算机自动掷出一对骰子,并且如果 cpu 掷出 7 或 11,则用户获胜。然而,如果用户掷出 2、3 或 12,他们将自动失败。如果用户滚动任何其他数字(4、5、6、
背景 如此处所述http://www.ericharshbarger.org/dice/#gofirst_4d12 , “先走”骰子是一组四个骰子,每个都有唯一的编号,因此: 任何两个或更多骰子都不会
我是一名优秀的程序员,十分优秀!