Unit 3 Sections 5-7
Welcome to the World of Booleans and Conditionals!
- Lesson Overview: 3.5 - Boolean Expressions
- Lesson Overview: 3.6 - Conditionals
- Analyzing Code Walkthrough
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
grades = [90, 65, 60, 75, 95]
average = (sum(grades)/(len(grades)))
print("The average is " + str(average))
if average > 80:
print(True)
else:
print(False)
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 12 > 77)
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 = 88
num2 = 45
sum = (num1 + num2)
if sum == 200:
print(200)
else:
print(sum)
- Nested conditional statements consist of conditional statements within other conditional statements
- Utilizes "if else" statements within "if else" statements
score = 82
if (score >= 90):
print("You got an A, congrats!")
else:
if (score >= 75):
print("Please come to retake up to a 90 next week at tutorial!")
else:
print("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
person = "John"
hours = 11
salary = 110000
console.log(person + "'s salary is $" + salary)
if (hours >= 8)
{
console.log(person,"is experienced")
}
else
{
console.log("Sadly you aren't experienced enough")
}
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"
cost = 51;
expired = False
if (expired == True):
print("This product is no good")
else:
if (cost > 50):
print("This product is too expensive")
elif (cost < 25):
print("This is a cheap product")
else:
print("This is a regular product")
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
quiz = {
"q" : ["Who won the last edition of the Fifa World Cup?", "How many world cup goals does Messi have in his career so far?", "Which team has won the most amount of World Cup trophies in the history of the competition?"],
"a" : [["Germany","France","India","Brazil"], ["7","16","10","9"], ["Argentina","Spain","England","Brazil"]],
"answerkey" : ["b", "d", "d"],
"options" : ["a", "b", "c", "d"]
}
print("Welcome to my World Cup Quiz!")
totalQs = 3
i = 0
score = 0
while i != totalQs:
status = False
currentquestion = quiz["q"][i]
print(currentquestion + "\n")
n = 0
while n < 4:
print(str(quiz["options"][n]) + ": " + str(quiz["a"][i][n]))
n += 1
ans = input(currentquestion)
ans.lower()
print("")
while status == False:
if ans == "a" or "b" or "c" or "d":
if ans == quiz["answerkey"][i]:
score += 1
print("Congratulations", ans.lower(), "is correct!")
else:
print("Sadly", ans.lower(), "is incorrect :(")
status = True
else:
print("Enter select a valid option")
print("Your score is: " + str(score) + " points \n")
i += 1