Boolean

  • A Boolean value is either true or false.
  • A Boolean expression produces a Boolean value (true or false) when evaluated.

Conditional ("if") statements

  • Affect the sequential flow of control by executing different statements based on the value of a Boolean expression.
IF (condition)
{
	<block of statements>
}

The code in <block of statements> is executed if the Boolean expression condition evaluates to true; no action is taken if condition evaluates to false.

IF (condition)
{
	<block of statements>
}
ELSE
{
	<second block of statements>
}

The code in the first <block of statements> is executed if the Boolean expression condition evaluates to true; otherwise, the code in <second block of statements> is executed.

Example: Calculate the sum of 2 numbers. If the sum is greater than 10, display 10; otherwise, display the sum.

num1 = INPUT
num2 = INPUT
sum = num1 + num2
IF (sum > 10)
{
	DISPLAY (10)
}
ELSE
{
	DISPLAY (sum)
}

Hack 1

  • Add a variable that represents an age.

  • Add an ‘if’ and ‘print’ function that says “You are an adult” if your age is greater than or equal to 18.

  • Make a function that prints “You are a minor” with the else function.

## YOUR CODE HERE

age = 1
if age >= 18:
    print("You are an adult")
else:
    print("You are a minor")
You are a minor

Relational operators:

  • Used to test the relationship between 2 variables, expressions, or values. These relational operators are used for comparisons and they evaluate to a Boolean value (true or false).

Ex. a == b evaluates to true if a and b are equal, otherwise evaluates to false

  • a == b (equals)
  • a != b (not equal to)
  • a > b (greater than)
  • a < b (less than)
  • a >= b (greater than or equal to)
  • a <= b (less than or equal to)

Example: The legal age to work in California is 14 years old. How would we write a Boolean expression to check if someone is at least 14 years old?

age >= 14

Example: Write a Boolean expression to check if the average of height1, height2, and height3 is at least 65 inches.

(height1 + height2 + height3) / 3 >= 65

Hack 2

  • Make a variable called ‘is_raining’ and set it to ‘True”.

  • Make an if statement that prints “Bring an umbrella!” if it is true

  • Make an else statement that says “The weather is clear”.

## YOUR CODE HERE

is_raining = True
if is_raining:
    print("Bring an umbrella!")
else:
    print("The weather is clear")
Bring an umbrella!

Logical operators:

Used to evaluate multiple conditions to produce a single Boolean value.

  • NOT evaluates to true if condition is false, otherwise evaluates to false
  • AND evaluates to true if both conditions are true, otherwise evaluates to false
  • OR evaluates to true if either condition is true or if both conditions are true, otherwise evaluates to false

Example: You win the game if you score at least 10 points and have 5 lives left or if you score at least 50 points and have more than 0 lives left. Write the Boolean expression for this scenario.

(score >= 10 AND lives == 5) OR (score == 50 AND lives > 0)

Relational and logical operators:

Example: These expressions are all different but will produce the same result.

  • age >= 16
  • age > 16 OR age == 16
  • NOT age < 16

Hack 3

  • Make a function to randomize numbers between 0 and 100 to be assigned to variables a and b using random.randint

  • Print the values of the variables

  • Print the relationship of the variables; a is more than, same as, or less than b

## YOUR CODE HERE

import random

a = random.randint(0, 100)
b = random.randint(0, 100)

print("a:", a)
print("b:", b)

if (a > b):
    print("a > b")
elif (a == b):
    print("a = b")
elif (a < b):
    print("a < b")
a: 57
b: 60
a < b

Homework

Criteria for above 90%:

  • Add more questions relating to Boolean rather than only one per topic (ideas: expand on conditional statements, relational/logical operators)
  • Add a way to organize the user scores (possibly some kind of leaderboard, keep track of high score vs. current score, etc. Get creative!)
  • Remember to test your code to make sure it functions correctly.

#HOMEWORK


# The quiz contains questions related to Boolean values, Boolean expressions,
# conditional statements, relational operators, and logical operators.

# Import necessary modules
import getpass  # Module to get the user's name
import sys  # Module to access system-related information
import random

letters = ['F', 'F', 'F', 'F', 'F', 'F', 'D', 'C', 'B', 'A', 'A']

# Function to ask a question and get a response
def question_with_response(prompt):
    # Print the question
    print("\033[91mQuestion: " + prompt)
    # Get user input as the response
    msg = input()
    return msg

# Define the number of questions and initialize the correct answers counter
questions = 10
correct = 0

# Personalized greeting message
# Collect the student's name
user_name = input("Enter your name: ")
print('Hello, ' + user_name + " running " + sys.executable)
print("You will be asked " + str(questions) + " questions.")
answer = input("Are you ready to take a test?")

# Question 1: Boolean Basics 
# Ask a question about Boolean values and check the response
# Provide feedback based on the correctness of the response

answer = question_with_response("\033[94mWhat is one Boolean Value?")
if (answer == "True" or answer == "False"):
    print("Correct!")
    correct += 1

answer = question_with_response("\033[94mWhat is the boolean for not true?")
if (answer == "False"):
    print("Correct!")
    correct += 1

# Question 2: Boolean Expressions
# Ask a question about Boolean expressions and their importance in programming
# Provide feedback based on the correctness of the response

answer = question_with_response("\033[94mWrite a Boolean Expression to represent variable 'grade' is True.")
if (answer == "grade == True" or answer == "grade==True"):
    print("Correct!")
    correct += 1

answer = question_with_response("\033[94mWrite a Boolean Expression to represent variable 'result' is not True.")
if (answer == "result != True" or answer == "result!=True"):
    print("Correct!")
    correct += 1

# Question 3: Conditional Statements
# Ask a question about the purpose of conditional (if-else) statements in programming
# Provide feedback based on the correctness of the response

answer = question_with_response("\033[94mWhat is a conditional keyword?")
if (answer == "if" or answer == "else"):
    print("Correct!")
    correct += 1

# Question 4: Relational Operators
# Ask a question about common relational operators in programming and provide examples
# Provide feedback based on the correctness of the response

answer = question_with_response("\033[94mWrite a Boolean Expression to represent variable 'mass' is greater than 5.")
if (answer == "mass > 5" or answer == "mass>5"):
    print("Correct!")
    correct += 1

answer = question_with_response("\033[94mWrite a Boolean Expression to represent variable 'score' is less or equal to 2.")
if (answer == "score <= 2" or answer == "score<=2"):
    print("Correct!")
    correct += 1

answer = question_with_response("\033[94mWrite a Conditional Statement to represent variable 'time' is greater or equal to variable 'distance'.")
if (answer == "time >= distance" or answer == "time>=distance"):
    print("Correct!")
    correct += 1

answer = question_with_response("\033[94mWrite a Conditional Statement to represent variable 'number' is not equal to variable 'speed'.")
if (answer == "number != speed" or answer == "number!=speed"):
    print("Correct!")
    correct += 1

# Question 5: Logical Operators
# Ask a question about the use of logical operators in programming and provide examples
# Provide feedback based on the correctness of the response

answer = question_with_response("\033[94mWhat is an example of a Logical Operator?")
if (answer == "and" or answer == "or" or answer == "not"):
    print("Correct!")
    correct += 1

random_score = random.randint(0, questions)

if (random_score > correct):
    msg = "a lower score."
if (random_score < correct):
    msg = "a higher score."
if (random_score == correct):
    msg = "the same score."

# Display the final score
# Calculate the percentage of correct answers and provide feedback
print(f"\033[95mscore: {correct}/{questions} or {correct/questions*100}%") # correct / number of questions

print("\033[93mletter grade:", letters[int(correct/questions*10)])

print(f"\033[95mA random user scored {random_score}, and you got {msg}")
Enter your name:  a


Hello, a running /usr/bin/python3
You will be asked 10 questions.


Are you ready to take a test? a


Question: What is one Boolean Value?


 a


Question: What is the boolean for not true?


 a


Question: Write a Boolean Expression to represent variable 'grade' is True.


 a


Question: Write a Boolean Expression to represent variable 'result' is not True.


 a


Question: What is a conditional keyword?


 a


Question: Write a Boolean Expression to represent variable 'mass' is greater than 5.


 a


Question: Write a Boolean Expression to represent variable 'score' is less or equal to 2.


 a


Question: Write a Conditional Statement to represent variable 'time' is greater or equal to variable 'distance'.


 a


Question: Write a Conditional Statement to represent variable 'number' is not equal to variable 'speed'.


 a


Question: What is an example of a Logical Operator?


 a


score: 0/10 or 0.0%
letter grade: F
A random user scored 5, and you got a lower score.