Python 牛和牛的电脑猜测

Python 牛和牛的电脑猜测,python,Python,所以我一直在用Python制作一个名为Cows and Bulls的小游戏。对于那些不知道的人来说,这很简单。一名玩家生成一个数字,另一名玩家尝试猜测。如果猜到的数字在正确的位置,它会给你一头牛。如果它有一个数字,但在错误的位置,它会给你一头公牛,因此,直到牛值不是4位数字,游戏继续进行。它不断地给出提示,直到猜出数字为止 实际上,我已经成功地创建了程序的播放器部分。现在我开始创建人工智能。我生成一个数字,然后电脑尝试猜测这个数字。 我的问题是帮助电脑找到这个号码的条件。现在我有基本的。如果PC

所以我一直在用Python制作一个名为Cows and Bulls的小游戏。对于那些不知道的人来说,这很简单。一名玩家生成一个数字,另一名玩家尝试猜测。如果猜到的数字在正确的位置,它会给你一头牛。如果它有一个数字,但在错误的位置,它会给你一头公牛,因此,直到牛值不是4位数字,游戏继续进行。它不断地给出提示,直到猜出数字为止

实际上,我已经成功地创建了程序的播放器部分。现在我开始创建人工智能。我生成一个数字,然后电脑尝试猜测这个数字。 我的问题是帮助电脑找到这个号码的条件。现在我有基本的。如果PC guess没有发现公牛和母牛,它会在下一次猜测中丢弃所有这些数字,如果PC guess发现所有公牛都会尝试使用这4个数字的每个组合,当然还有正常的获胜条件。 不过,电脑要花很长时间才能猜出来。没有足够的条件来促进猜测数字的过程

所以我想知道是否有人能给我一些建议,我可以在我的程序中加入什么条件来帮助他猜出正确的数字?我一直在想,但一直在努力。似乎找不到一个真正有助于电脑猜测时间的良好状态


无论如何,先谢谢你

我会使用消除过程。从一组从1000到9999的4位数字开始

然后,如果你给电脑一头牛,电脑就会知道它的形状是3。从集合中删除所有非该形式的数字

如果你对计算机不屑一顾,就说是数字4。删除所有4位数中没有4的数字

对于下一轮的计算机,只需从它现在知道仍然是潜在值的一组数字中选择一个随机数

此外,如果您没有从数字中获得公牛或奶牛,您可以删除所有数字,其中包括您没有获得公牛或奶牛的数字的数字

然后重复

你会很快减少潜在的数字。然后计算机要么猜出正确的数字,要么只剩下一个


我希望这有帮助:

我们能看看代码吗?Python应该能够很快地遍历所有的数字0-9999,所以也许你的数字猜测步骤在某种程度上是低效的。嘿,Patrick!并不是他做得不快,只是他尝试了太多,因为他尝试了很多不同的组合:b我会检查一下是否有什么是无效的!别担心,希望能有帮助。听起来是个有趣的节目。