-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1
More file actions
50 lines (41 loc) · 1.18 KB
/
1
File metadata and controls
50 lines (41 loc) · 1.18 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
import random
def guess_rand(x, y):
run = True
num = random.randint(x, y)
counter = 0
while run is True:
guess = random.randint(x, y)
counter += 1
if guess > num:
y = guess-1
guess = random.randint(x, y)
elif guess < num:
x = guess+1
guess = random.randint(x, y)
elif guess == num:
run = False
return counter
def guess_binary(x, y):
counter = 0
num = random.randint(x, y)
run = True
while run is True:
guess = int((x + y) / 2)
counter += 1
if guess > num:
y = guess-1
elif guess < num:
x = guess+1
elif guess == num:
run = False
return counter
guesses_rand = []
for i in range(100):
guesses_rand.append(guess_rand(0, 100))
average_guesses_rand = sum(guesses_rand) / len(guesses_rand)
print('Average guesses random search: ', average_guesses_rand)
guesses_binary = []
for i in range(100):
guesses_binary.append(guess_binary(0, 100))
average_guesses_binary = sum(guesses_binary) / len(guesses_binary)
print('Average guesses binary search: ', average_guesses_binary)