0

我正在为类似于棋盘游戏 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)

好的,Guess 指定为 4 个整数,Answer 是一个包含 4 个数字的列表。它们在代码后都有相同的“len”,所以我不知道。

这段代码的重点是将答案转换为一个由 4 个数字组成的字符串,并查看这些数字中是否有任何数字与猜测的匹配,并返回总共有多少匹配。

4

1 回答 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)
于 2013-02-14T16:59:15.540 回答