Python: Add tests and type annotations

This commit is contained in:
Martin Thoma
2022-03-22 11:55:13 +01:00
parent 97bf59b328
commit bf4ac6c3ca
11 changed files with 456 additions and 209 deletions

View File

@@ -1,35 +1,33 @@
######################################################################
#
# Bagels
#
# From: BASIC Computer Games (1978)
# Edited by David H. Ahl
#
# "In this game, the computer picks a 3-digit secret number using
# the digits 0 to 9 and you attempt to guess what it is. You are
# allowed up to twenty guesses. No digit is repeated. After
# each guess the computer will give you clues about your guess
# as follows:
#
# PICO One digit is correct, but in the wrong place
# FERMI One digit is in the correct place
# BAGELS No digit is correct
#
# "You will learn to draw inferences from the clues and, with
# practice, you'll learn to improve your score. There are several
# good strategies for playing Bagels. After you have found a good
# strategy, see if you can improve it. Or try a different strategy
# altogether and see if it is any better. While the program allows
# up to twenty guesses, if you use a good strategy it should not
# take more than eight guesses to get any number.
#
# "The original authors of this program are D. Resek and P. Rowe of
# the Lawrence Hall of Science, Berkeley, California."
#
#
# Python port by Jeff Jetton, 2019
#
######################################################################
"""
Bagels
From: BASIC Computer Games (1978)
Edited by David H. Ahl
"In this game, the computer picks a 3-digit secret number using
the digits 0 to 9 and you attempt to guess what it is. You are
allowed up to twenty guesses. No digit is repeated. After
each guess the computer will give you clues about your guess
as follows:
PICO One digit is correct, but in the wrong place
FERMI One digit is in the correct place
BAGELS No digit is correct
"You will learn to draw inferences from the clues and, with
practice, you'll learn to improve your score. There are several
good strategies for playing Bagels. After you have found a good
strategy, see if you can improve it. Or try a different strategy
altogether and see if it is any better. While the program allows
up to twenty guesses, if you use a good strategy it should not
take more than eight guesses to get any number.
"The original authors of this program are D. Resek and P. Rowe of
the Lawrence Hall of Science, Berkeley, California."
Python port by Jeff Jetton, 2019
"""
import random