Python提示:“IndexError: 字符串索引超出范围。”
我正在写一些练习代码,做一个类似于桌游“MasterMind”的游戏,但总是出现一个错误,我搞不清楚为什么会这样。以下是我的代码:
def Guess_Almost (Guess, Answer):
a = ''.join([str(v) for v in Answer])
g = str(Guess)
n = 0
am = 0
while n < 5:
if g[n] == a[0]:
am = am + 1
if g[n] == a[2]:
am = am + 1
if g[n] == a[3]:
am = am + 1
if g[n] == a[3]:
am = am + 1
n = n + 1
return(am)
好吧,猜测的部分是指定为4个整数,而答案是一个包含4个数字的列表。运行代码后,它们的长度是一样的,所以我完全不知道问题出在哪里。
这段代码的目的是把答案转换成一个包含4个数字的字符串,然后看看这些数字中有没有和猜测的数字匹配的,最后返回总共有多少个匹配。
1 个回答
0
看看这个是否对你有帮助
def Guess_Almost (Guess, Answer):
a = ''.join([str(v) for v in Answer])
g = str(Guess)
n = 0
am = 0
if len(g) >= 5 and len(a) >=4:
while n < 5:
if g[n] == a[0]:
am = am + 1
if g[n] == a[2]:
am = am + 1
if g[n] == a[3]:
am = am + 1
if g[n] == a[3]:
am = am + 1
n = n + 1
return(am)