forked from seaman2000/Guess_the_Number
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathguess_the_number.py
More file actions
112 lines (87 loc) · 2.96 KB
/
Copy pathguess_the_number.py
File metadata and controls
112 lines (87 loc) · 2.96 KB
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import random
computer_number = 0
max_number = 0
counter = 0
troll_counter = 0
games_counter = 1
player_guesses = []
min_size = float('inf')
is_guessed = False
is_invalid = False
difficulty_chosen = False
show_guess_number = True
closest_number = None
while True:
is_invalid = False
player_number = None
if not difficulty_chosen: # choose difficulty
difficulty = input("Choose difficulty between Easy, Medium or Hard: ").strip().lower()
if difficulty == "easy":
max_number = 20
elif difficulty == "medium":
max_number = 50
elif difficulty == "hard":
max_number = 100
else:
print("Invalid difficulty. Please, choose between Easy, Medium or Hard.")
continue
troll_counter = 0
computer_number = random.randint(1, max_number)
difficulty_chosen = True
player_input = input(f"Guess the number (1-{max_number}): ").strip()
if not player_input.isdigit():
print("Invalid input. Try again...")
is_invalid = True
else:
player_number = int(player_input)
if not player_number in range(1, max_number + 1):
print(f"Please type a number which is between (1-{max_number})")
is_invalid = True
if is_invalid:
troll_counter += 1
if troll_counter == 3:
print("You're joking...")
show_guess_number = False
break
continue
counter += 1
player_guesses.append(player_number)
if player_number == computer_number:
print("You guessed it!")
is_guessed = True
break
elif player_number > computer_number:
print("Too high!")
else:
print("Too low!")
if counter >= 5:
print("You don't have any more tries left.")
for each_integer in player_guesses:
difference = abs(each_integer - computer_number)
if difference < min_size:
min_size = difference
closest_number = each_integer
if min_size <= 5:
print("You were so close though!")
print(f"From your guessed numbers, the closest was {closest_number}, "
f"{min_size} numbers away from the target.")
print("Do you want to play again?")
answer = input("Y or N ").strip().upper()
while answer != "Y" and answer != "N":
answer = input("I said Y or N !? ").strip().upper()
if answer == "Y":
closest_number = None
player_guesses = []
counter = 0
min_size = float('inf')
difficulty_chosen = False
if games_counter >= 3:
print("I am too tired for this, I need a break.")
show_guess_number = False
break
games_counter += 1
continue
else:
break
if not is_guessed and show_guess_number:
print(f"The number to guess was: {computer_number}")