mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-22 07:10:42 -08:00
44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
# TRAIN
|
|
#
|
|
# Converted from BASIC to Python by Trevor Hobson
|
|
|
|
import random
|
|
|
|
|
|
def play_game() -> None:
|
|
"""Play one round of the game"""
|
|
car_speed = random.randint(40, 65)
|
|
time_difference = random.randint(5, 20)
|
|
train_speed = random.randint(20, 39)
|
|
print("\nA car travelling", car_speed, "MPH can make a certain trip in")
|
|
print(time_difference, "hours less than a train travelling at", train_speed, "MPH")
|
|
time_answer: float = 0
|
|
while time_answer == 0:
|
|
try:
|
|
time_answer = float(input("How long does the trip take by car "))
|
|
except ValueError:
|
|
print("Please enter a number.")
|
|
car_time = time_difference * train_speed / (car_speed - train_speed)
|
|
error_percent = int(abs((car_time - time_answer) * 100 / time_answer) + 0.5)
|
|
if error_percent > 5:
|
|
print("Sorry. You were off by", error_percent, "percent.")
|
|
print("Correct answer is", round(car_time, 6), "hours")
|
|
else:
|
|
print("Good! Answer within", error_percent, "percent.")
|
|
|
|
|
|
def main() -> None:
|
|
print(" " * 33 + "TRAIN")
|
|
print(" " * 15 + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n")
|
|
print("Time - speed distance exercise")
|
|
|
|
keep_playing = True
|
|
while keep_playing:
|
|
play_game()
|
|
keep_playing = input("\nAnother problem (yes or no) ").lower().startswith("y")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|