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.
CollegeBoard Pseudocode

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 = 16

if age >= 18:

    print("You are an adult")
else: 
    print("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 == True:
    print("Bring an umbrella!")

else:
    print("The weather is clear")

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)
print (b)
if not a > b:

    print("a is less than b")
if a == b:
    print("a is equals b ")

if a > b:
    print("a is greater than 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.
import sys

# Function to ask a question and get a response
def question_with_response(prompt, correct_answers):
    # Print the question
    print("Question: " + prompt)
    # Get user input as the response
    msg = input("Your answer: ").strip()
    return msg.lower() in (answer.lower() for answer in correct_answers)

# Define the number of questions and initialize the correct answers counter
questions = 6
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 {} questions.".format(questions))

answer = input("Are you ready to take a test? (Yes/No): ")
if answer.lower() == "yes":
    print("You are ready, let's get started.")
elif answer.lower() == "no":
    print("Go back and study until you are prepared.")
    sys.exit()
else:
    print("Invalid response, please try again.")

# List of questions and their correct answers
questions_and_answers = [
    ("What values does a boolean have?", ["true and false"]),
    ("What can we use Boolean values for?", ["conditional statements", "everything"]),
    ("Why can we use conditional statements?", ["to use boolean"]),
    ("Is this statement true? 16 <= 12", ["false"]),
    ("What can relational operators evaluate?", ["numbers, expressions, or values"]),
    ("What is the result of NOT age < 16?", ["age > 16"])
]

for question, correct_answers in questions_and_answers:
    if question_with_response(question, correct_answers):
        print("Correct!")
        correct += 1
    else:
        print("Incorrect!")

# Display the final score
percentage_correct = (correct / questions) * 100
print(f"{user_name}, you scored {correct}/{questions} ({percentage_correct:.2f}%)")
if percentage_correct <= 50:
    print("You might want to study more and try again for a better score.")

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

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

# Define the number of questions and initialize the correct answers counter
questions = 6
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? (Yes/No): ").strip().lower()

# ... (previous code)

if answer == "yes":
    print("You are ready, let's get started")
elif answer == "no":
    print("Go back and study until you are prepared")
    sys.exit()
else:
    print("Invalid response, please try again")

# Question 1: Boolean Basics
rsp = question_with_response("What values does a boolean have?")
if rsp.strip().lower() == "true and false":
    print(rsp + " is correct!")
    correct += 1
else:
    print(rsp + " is incorrect!")

rrsp = question_with_response("What can we use Boolean values for?")
if rsp.strip().lower() in ["conditional statements", "everything"]:
    print(rsp + " is correct!")
    correct += 1
else:
    print(rsp + " is incorrect!")


# Question 2: Boolean Expressions
rsp = question_with_response("What can we use Boolean values for?")
if rsp in ["Conditional Statements", "Everything".strip().lower()]:
    print(rsp + " is correct!")
    correct += 1
else:
    print(rsp + " is incorrect!")

# Question 3: Conditional Statements
rsp = question_with_response("Why can we use conditional statements?")
if rsp == "To use boolean!":
    print(rsp + " is correct!")
    correct += 1
else:
    print(rsp + " is incorrect!")

# Question 4 and 5: Relational Operators
rsp = question_with_response("Is this statement true? 16 <= 12")
if rsp == "False":
    print(rsp + " is correct!")
    correct += 1
else:
    print(rsp + " is incorrect!")

rsp = question_with_response("What can relational operators evaluate?")
if rsp.strip().lower() == "numbers, expressions, and values":
    print(rsp + " is correct!")
    correct += 1
else:
    print(rsp + " is incorrect!")

# Question 6: Logical Operators
rsp = question_with_response("What is the result of NOT age < 16?")
if rsp in ["age > 16", "age>=16"]:
    print(rsp + " is correct!")
    correct += 1
else:
    print(rsp + " is incorrect!")

# Display the final score
percentage_correct = (correct / questions) * 100
print(f"{user_name}, you scored {correct}/{questions} ({percentage_correct:.2f}%)")
if percentage_correct <= 50:
    print("You might want to study more and try again for a better score.")



Hello, joe running /bin/python
You will be asked 6 questions.
You are ready, let's get started
Question: What values does a boolean have?
true and false is correct!
Question: What can we use Boolean values for?
true and false is incorrect!
Question: What can we use Boolean values for?
conditional statements is incorrect!
Question: Why can we use conditional statements?
 is incorrect!
Question: Is this statement true? 16 <= 12
False is correct!
Question: What can relational operators evaluate?
numbers, expressions, and values is correct!
Question: What is the result of NOT age < 16?
age<16 is incorrect!
joe, you scored 3/6 (50.00%)
You might want to study more and try again for a better score.