Booleans and Conditionals Notes
Welcome to the World of Booleans and Conditionals!
Lesson Overview: 3.5 - Boolean Expressions
- Here we will focus on:
- basics of Booleans
- its relationship with binary
- relational operators
- Logical Operators
What is a boolean?
- A data type with two possible values: true or false
Boolean and Binary
So similar yet so different.
- Boolean math and binary notation both use the same two ciphers: 1 and 0.
- However, please note that Boolean quantities are restricted to a singlular bit (can only be either 1, or 0)
- On the otherhand, binary numbers may be composed of many bits adding up in place-weighted form to any finite value, or size
Must Knows
- A Boolean value is either TRUE or FALSE
The AP Exam will provide you with a reference sheet with the operators below.
A few ways these operators could be used...
- With the grades below, use a boolean expression to determine if the average grade is above an 80 and print the result (True or False)
- Try it in as few steps as possible!
- Be creative! There are obviously TONS of different practical solutions
grade1 = 90
grade2 = 65
grade3 = 60
grade4 = 75
grade5 = 95
AvgGrade = (grade1+grade2+grade3+grade4+grade5)/5
print(AvgGrade)
print("100 == 100:",100==100)
print("Hello == Adios:","greeting"=="farewell")
print("Hello != Adios:","greeting"!="farewell")
print("Hello == Hola:","greeting"=="greeting")
print("5>=4:", 5>=4)
print ('')
# Notice that relational operators can even work on lists!
# For lists, the relational operator compares each respective component until an answer is derived
print("['a','b','c'] > ['x','y','z']:", ['a','b','c'] > ['x','y','z'])
print("[1,2,3,5] > [1,2,3,4]:", [1,2,3,5] > [1,2,3,4])
print("[1,2,3,5] < [1,2,3,4]:", [1,2,3,5] < [1,2,3,4])
print("[1,2,3,5] == [1,2,3,4]:", [1,2,3,5] == [1,2,3,4])
Logical Operators!
These types of operators don't necessarily deal with equivalent/non-equivalent values, but they rather work on operands to produce a singular boolean result
- AND : returns TRUE if the operands around it are TRUE
- OR : returns TRUE if at least one operand is TRUE
- NOT : returns TRUE if the following boolean is FALSE
print("1 > 2 or 5 < 12:", 1>2 or 5<12)
# Output TRUE using OR ^
# Output FALSE using NOT
print("24 > 8:", not 24 > 8)
# Output FALSE using AND
print("10 > 20:", 10 > 20 and False)
x = 20
y = 10
if x > y:
print("x is greater than y")
x = 20
y = 10
if x > y:
print("x is greater than y")
else:
print("x is not greater than y")
num1 = 120
num2 = 80
sum = num1 + num2
if (sum == 200):
print("two hundred")
else:
print(sum)
- Nested conditional statements consist of conditional statements within other conditional statements
- Utilizes "if else" statements within "if else" statements
- Basics of a nested conditional:
Block Coding Visual of Nested Conditionals:
Example Psuedocode of Nested Conditional Statements
Analyzing Code Walkthrough
- Psuedocode to the left, block code to the right
- Approach the problem by going through each condition one at a time
- Decide which ones are false to skip and which ones are true to execute
score = 82
if (score >= 90)
{
console.log("You got an A, congrats!")
}
else
{
if (score >= 75)
{
console.log("Please come to retake up to a 90 next week at tutorial!")
}
else
{
console.log("You have detention!")
}
}
protein = 25
carbs = 36
sugar = 11
if (carbs >= 55 || protein <= 20 || sugar >= 15)
{
console.log("Your lunch is too unhealthy, please pick a new one")
}
else
{
if (carbs < 35 || protein < 25)
{
console.log ("This lunch is alright but try to add some more carbs or protein")
}
else
{
if (sugar >= 11)
{
console.log ("Looks great but lets see if we can cut down on sugar, we don't want diabetes!")
}
else
{
console.log ("Amazing, you created a healthy lunch!!!")
}
}
}
Writing Nested Code Activity
- Write a program that fits these conditions using nested conditionals:
- If a person has at least 8 hours, they are experienced
- If a person is experienced their salary is 90k, if they have ten hours or above their salary 150k
- If a person is inexperienced their salary is always 50k
- print the salary of the person at the end and whether they are experienced or not
Hacks Assignments:
Conditionals:
- Write a program that fits these conditions using nested conditionals:
- If the product is expired, print "this product is no good"
- If the cost is above 50 dollars, and the product isn't expired, print "this product is too expensive"
- If the cost is 25 dollars but under 50, and the product isn't expired, print "this is a regular product"
- If the cost is under 25 dollars, print "this is a cheap product"
experience = 7
salary = 0
if(experience >= 10){
salary = 150000
console.log(salary)
}
else{
if (experience >= 8){
salary = 100000
console.log(salary)
}
else{
salary = 50000
console.log(salary)
}
}
expired = False
cost = 45
if (expired == False):
if(cost >= 50):
print("This product is too expensive.")
else:
if(cost >= 25):
print("This product is regular price.")
else:
print("This product is cheap.")
else:
print("This product is no good.")
Boolean/Conditionals:
- Create a multiple choice quiz that ...
- uses Boolean expressions
- uses Logical operators
- uses Conditional statements
- prompts quiz-taker with multiple options (only one can be right)
- has at least 3 questions
- Points will be awarded for creativity, intricacy, and how well Boolean/Binary concepts have been intertwined
score = 0
questionNum = 0
questions = ["Which player has the most points in a single game? Michael Jordan, Mo Bamba, Wilt Chamberlain, Russ",
"Which player has the most total assists? Magic Johnson, Steve Nash, Jason Kidd, John Stockton",
"Which player has the most total championships? Robert Horry, Bill Russell, Kobe Bryant, ur mum",
"When was the last time the Kings made the playoffs? 2006, 2009, 2020, 1967"]
solutions = ["c", "d", "b", "a"]
for i in questions:
answer = input(i + " A, B, C, D")
if answer.lower() == solutions[questionNum]:
questionNum += 1
print("Good job, thats correct!")
score += 1
else:
questionNum += 1
print("Sorry, thats incorrect!")
percentGrade = score/len(questions)*100
print("You got: " + str(score) + "/4" + " That's a " + str(percentGrade) +"%")