diff --git a/92 Trap/python/trap.py b/92 Trap/python/trap.py new file mode 100644 index 00000000..772bd3c5 --- /dev/null +++ b/92 Trap/python/trap.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +# TRAP +# +# STEVE ULLMAN, 8-1-72 +# Converted from BASIC to Python by Trevor Hobson + +import random + +number_max = 100 +guess_max = 6 + + +def play_game(): + """Play one round of the game""" + + number_computer = random.randint(1, number_max) + turn = 0 + while True: + turn += 1 + user_guess = [-1, -1] + while user_guess == [-1, -1]: + try: + user_input = [int(item) for item in input( + "\nGuess # " + str(turn) + " ? ").split(",")] + if len(user_input) == 2: + if sum(1 < x < number_max for x in user_input) == 2: + user_guess = user_input + else: + raise ValueError + else: + raise ValueError + except (ValueError, IndexError): + print("Please enter a valid guess.") + if user_guess[0] > user_guess[1]: + user_guess[0], user_guess[1] = user_guess[1], user_guess[0] + if user_guess[0] == user_guess[1] == number_computer: + print("You got it!!!") + break + elif user_guess[0] <= number_computer <= user_guess[1]: + print("You have trapped my number.") + elif number_computer < user_guess[0]: + print("My number is smaller than your trap numbers.") + else: + print("My number is larger than your trap numbers.") + if turn == guess_max: + print("That's", turn, "guesses. The number was", number_computer) + break + + +def main(): + print(" " * 34 + "TRAP") + print(" " * 15 + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n") + if input("Instructions ").lower().startswith("y"): + print("\nI am thinking of a number between 1 and", number_max) + print("try to guess my number. On each guess,") + print("you are to enter 2 numbers, trying to trap") + print("my number between the two numbers. I will") + print("tell you if you have trapped my number, if my") + print("number is larger than your two numbers, or if") + print("my number is smaller than your two numbers.") + print("If you want to guess one single number, type") + print("your guess for both your trap numbers.") + print("You get", guess_max, "guesses to get my number.") + + keep_playing = True + while keep_playing: + play_game() + keep_playing = input( + "\nTry again. ").lower().startswith("y") + + +if __name__ == "__main__": + main()