This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Bulls and Cows numerical version class.

Project Description

Bulls and Cows (also known as Cows and Bulls or Pigs and Bulls or Bulls and Cleots) is an old code-breaking mind or paper and pencil game for two or more players, predating the similar commercially marketed board game Mastermind. The numerical version of the game is usually played with 4 digits, but can also be played with 3 or any other number of digits.

On a sheet of paper, the players each write a 4-digit secret number. The digits must be all different. Then, in turn, the players try to guess their opponent’s number who gives the number of matches. If the matching digits are in their right positions, they are “bulls”, if in different positions, they are “cows”. Example:

Secret number: 4271 Opponent’s try: 1234 Answer: 1 bull and 2 cows. (The bull is “2”, the cows are “4” and “1”.) The first one to reveal the other’s secret number wins the game. As the “first one to try” has a logical advantage, on every game the “first” player changes. In some places, the winner of the previous game will play “second”. Sometimes, if the “first” player finds the number, the “second” has one more move to make and if he also succeeds, the result is even.

The game may also be played by two teams of 2–3 players. The players of every team discuss before making their move, much like in chess.

A computer program moo, written in 1970 by J. M. Grochow at MIT in the PL/I computer language for the Multics operating system, was amongst the first
Bulls and Cows computer implementations, inspired by a similar program written by Frank King in 1968 and running on the Cambridge University mainframe. Because the game has simple rules, while it is difficult and entertaining, there are many computer variants; it is often included in telephones and PDAs.

It is proven that any number could be solved using up to seven turns. Minimal average game length is 26274/5040=5.2131 turns

Below Class can be used to create your own game.

Release History

Release History

This version
History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date (2.6 kB) Copy SHA256 Checksum SHA256 Source Apr 30, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting