gpt4 book ai didi

python - 列出 "Risk"骰子游戏的索引错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:43:59 24 4
gpt4 key购买 nike

我正在尝试制作一个函数来给出风险游戏中一掷骰子的赢/输率。

对于那些不知道的人,在 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 的索引。在您的示例中,第一次通过该循环 im 的第一个值,即 3,因此您的条件 if n[i] > m[ i] 正在执行 if n[3] > m[3]3 超出了 m 的索引范围,因此 IndexError

关于python - 列出 "Risk"骰子游戏的索引错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40611972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com