用Python重新创建MasterMind游戏?

时间:2015-03-01 01:29:24

标签: python

编辑:

嗨,早些时候,我以非常冗长的方式发布了这个问题。我是这个网站的新手,不知道发布的习俗。我会再次尝试,并对我的问题更加具体。

我将一些代码移到了测试文件中,这部分会返回错误。似乎我对blackpegs的计数没有增加,因为局部变量'blackpegs'在赋值之前是引用。

blackpegs = 0
def test_guess(code,guess):
    for x,y in zip(code,guess):
        if x==y:
          blackpegs += 1
          return blackpegs

首先,这是什么意思?其次,我该如何解决?

1 个答案:

答案 0 :(得分:0)

您应该将变量定义移动到函数定义中。我猜你也想要"返回"语句与if语句在同一级别缩进,以便它通过for循环而不是在x == y的第一个实例之后退出。

 def test_guess(code,guess):
     blackpegs = 0
     for x,y in zip(code,guess):
         if x==y:
           blackpegs += 1
           return blackpegs