-
Notifications
You must be signed in to change notification settings - Fork 0
/
guess.py
70 lines (65 loc) · 2.33 KB
/
guess.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#Python Guessing ~ Game.
import random
import json
def play_game():
name = input("Enter your name: ")
print(f"Welcome {name}! Let's play the python guessing game.")
print("I am thinking of a number between 0 and 30. You have 10 tries to guess it right.")
# Random variable generator.
number = random.randint(0, 30)
tries = 10
while tries > 0:
guess = int(input("Guess a number between 0 and 30: "))
#Loop
if guess == number:
print(f"Congratulations {name}! You guessed the number in {11 - tries} tries.")
save_score(name, 11 - tries)
break
else:
tries -= 1
if tries == 0:
print(f"Sorry {name}, you have used up all your tries. The number was {number}.")
break
else:
print(f"Wrong guess. You have {tries} tries left.")
def view_scores():
try:
with open("scores.json", "r") as f:
scores = json.load(f)
scores.sort(key=lambda x: x["tries"])
print("High Scores:")
for i, score in enumerate(scores[:10]):
print(f"{i+1}. {score['name']} - {score['tries']} tries")
except FileNotFoundError:
print("No scores found.")
# Save the scores to the Scores.json file.
def save_score(name, tries):
try:
with open("scores.json", "r") as f:
scores = json.load(f)
except FileNotFoundError:
# User information along with the number of tries saved in a list.
scores = []
scores.append({"name": name, "tries": tries})
scores.sort(key=lambda x: x["tries"])
with open("scores.json", "w") as f:
json.dump(scores[:10], f)
def main():
while True:
# User A starts the python guessing game program, and is greeted with a menu, asking to choose an action
print("Welcome to the python guessing game, please select an option\n")
print("(a) Play\n")
print("(b) Score\n")
print("(c) Exit\n")
choice = input("Enter your choice: ")
if choice == "a":
play_game()
elif choice == "b":
view_scores()
elif choice == "c":
print("Thank you for playing Goodbye!")
break
else:
print("Invalid choice. Please select a, b, or c.")
if __name__ == "__main__":
main()