Searching Tree: Binary Search

What is “Searching Tree”?

“Searching Tree” is a series of Python tutorials that teach you how to make a number searching algorithm that I made. I’m using Python because it’s popular and efficient.

What is binary search?

Binary search is a searching algorithm. It works by taking a number(say, 100) and splitting it in half over and over again until it gets to the correct number.

How to make it

Step 1: define the variables

You need three variables: `currnum`(so the computer knows what number it’s dealing with), `correct`(so the computer knows if it’s correct), and `inputs`(so the user can input if the number is correct or not). Your code should look like this:

``````#We are dealing with 50 first
currnum = 50
#We haven’t checked yet, so it’s false
correct = False
#We need an input and it needs to be lowercase
inputs = input(“Pick any number between 1 and 100.\nIs it more or less or equal to 50?\n”).lower()``````

Step 2: make the loop

Now we need to make the loop that loops until the number is correct. So it should look like this:

``````#We are dealing with 50 first
currnum = 50
#We haven’t checked yet, so it’s false
correct = False
#We need an input and it needs to be lowercase
inputs = input(“Pick any number between 1 and 100.\nIs it more or less or equal to 50?\n”).lower()
#The loop iterates until the number is correct
while correct == False:
#...``````

Step 3: add the if

Now, we will add the if loop that checks if it’s correct. It should check for equal, less, and more.

``````#We are dealing with 50 first
currnum = 50
#We haven’t checked yet, so it’s false
correct = False
#We need an input and it needs to be lowercase
inputs = input(“Pick any number between 1 and 100.\nIs it more or less or equal to 50?\n”).lower()
#The loop iterates until the number is correct
while correct == False:
if inputs == “equal”:
#...
elif input == “less”:
#...
elif input == “more:
#...``````

Step 3: finishing touches

Now it should look like this:

``````#We are dealing with 50 first
currnum = 50
#We haven’t checked yet, so it’s false
correct = False
#We need an input and it needs to be lowercase
inputs = input(“Pick any number between 1 and 100.\nIs it more or less or equal to 50?\n”).lower()
#The loop iterates until the number is correct
while correct == False:
if inputs == “equal”:
print(”Yay! I guessed it!”)
correct = True
elif input == “less”:
correct /= 2
inputs = input(“Is it more or less or equal to” + str(correct) + “?\n”)
elif input == “more:
correct /= 2
correct += correct
inputs = input(“Is it more or less or equal to” + str(correct) + “?\n”)``````

Sorry if I didn’t explain well, I’m in a rush.

You are viewing a single comment. View All
Highwayman (973)

I’m in a rush.

:/ Don’t rush your self. Never try to write a tutorial fast it usually doesn’t work out super well. I suggest coming back and carefully looking through this tutorial and extending explanations and such. 👍

CodeABC123 (201)

Not possible. I mean, checking back is possible, but not rushing? Not happening, especially for a long tutorial. @Highwayman

Highwayman (973)

@CodeABC123 uhI mean If you are doing all your writing, planning, editing, and reviewing all when your put it in the post immediately, then yes. It is hard.

BUT!

You don’t have to do that, you can just write, plan, edit, and review your tutorial in a text editor, much like you would your code in an IDE. :)