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.

num1 = input("How old are you?")
if num1 >= ("18"):
    print("You are older than 18")
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 = False
if is_raining:
    print("bring an Umbrella")
else:
    print("The weather is clear!")





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(1,100)
b = random.randint(1,100)

print(a)
print(b)

if a>=b:
    print("A is greater than B")
elif a==b:
    print("Both Values are equal!")
else:
    print("B is greater than A")



53
96
B is greater than A

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 getpass  
import sys

def question_with_response(prompt, correct_answer):
    print("Question: " + prompt)
    user_answer = input("Your answer: ").strip().lower()
    if user_answer == correct_answer:
        print("Correct!\n")
        return 1
    else:
        print("Incorrect. The correct answer is: " + correct_answer + "\n")
        return 0
questions = 5

# i tried to create something that stores the past screos from teh user
user_scores = {}
while True:
    user_name = input("enter your name: ")
    if user_name in user_scores:
        print(f"hi again, {user_name}!")
    else:
        user_scores[user_name] = 0  
        print(f"Hello, {user_name}!")
    print("you will be asked " + str(questions) + " questions.")
    answer = input("are you ready to take a test? (yes/no): ").strip().lower()

    if answer != "yes":
        sys.exit("see yah")

    correct = 0
    correct += question_with_response("is a==b a rational operator'?", "no")
    correct += question_with_response("is a=b a rational operator'?", "no")
    correct += question_with_response("is else if an else statment'?", "no")
    correct += question_with_response("is elif an else statement'?", "yes")
    correct += question_with_response("do you like the quiz'?", "yes")


    user_scores[user_name] += correct
    score = (correct / questions) * 100

    print(f"{user_name}, you scored {correct}/{questions} ({score:.2f}%)")
    if score >= 90:
        print("hey you know what ur doing!")
    elif score >= 70:
        print("good, good job")
    else:
        print("meh do re read the lesson")

    print("\nLeaderboard:")
    sorted_scores = sorted(user_scores.items(), key=lambda x: x[1], reverse=True)
    for idx, (name, user_score) in enumerate(sorted_scores, start=1):
        print(f"{idx}. {name}: {user_score} points")
    play_again = input("will you play this quiz again?").strip().lower()
    if play_again != "yes":
        break

Hello, sri!
you will be asked 5 questions.
Question: is a==b a rational operator'?
Correct!

Question: is a=b a rational operator'?
Incorrect. The correct answer is: no

Question: is else if an else statment'?
Correct!

Question: is elif an else statement'?
Correct!

Question: do you like the quiz'?
Incorrect. The correct answer is: yes

sri, you scored 3/5 (60.00%)
meh do re read the lesson

Leaderboard:
1. sri: 3 points