-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathNumberGuesser.py
45 lines (45 loc) · 1.82 KB
/
NumberGuesser.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
import random
attempts_list = []
def show_score():
if len(attempts_list) <= 0:
print("There is currently no high score, it's yours for the taking!")
else:
print(f"The current high score is {min(attempts_list)} attempts")
def start_game():
random_number = int(random.randint(1, 100))
print("Hello traveler! Welcome to the game of guesses!")
player_name = input("What is your name? ")
wanna_play = input(f"Hi, {player_name}, would you like to play the guessing game? (Enter Yes/No) ")
# Where the show_score function USED to be
attempts = 0
show_score()
while wanna_play.lower() == "yes":
try:
guess = input("Pick a number between 1 and 100 ")
if int(guess) < 1 or int(guess) > 100:
raise ValueError("Please guess a number within the given range")
if int(guess) == random_number:
print("Nice! You got it!")
attempts += 1
attempts_list.append(attempts)
print(f"It took you {attempts} attempts")
play_again = input("Would you like to play again? (Enter Yes/No) ")
attempts = 0
show_score()
random_number = int(random.randint(1, 100))
if play_again.lower() == "no":
print("That's cool, have a good one!")
break
elif int(guess) > random_number:
print("It's lower")
attempts += 1
elif int(guess) < random_number:
print("It's higher")
attempts += 1
except ValueError as err:
print("Oh no!, that is not a valid value. Try again...")
print(f"({err})")
else:
print("That's cool, have a good one!")
if __name__ == '__main__':
start_game()