Logical Operators

Objective

After working through this lesson, you’ll be able to:

  • Write Python code that uses logical operators to connect Boolean expressions.

Introductory Problem

Write Python code to determine if you and your friend will get a fire emoji.

Ask the user, "Have you snapped with your friend for the past 3 days? ")

  • If yes, print "you snapped with your friend"

  • If no, print "you have not snapped with your friend"

Ask the user, "Has your friend snapped with you for the past 3 days"

  • If yes, print "your friend snapped with you"

  • If no, print "your friend has not snapped with you"

If the answer to both questions is yes, then print, you started a Snapstreak!

intro.py
sent = input("Have you snapped with your friend for the past 3 days? ")
if sent == "yes":
   print("you snapped with your friend")
elif sent == "no":
   print("you have not snapped with your friend")
received = input("Has your friend snapped with you for the past 3 days? ")
if received == "yes":
   print("your friend snapped with you")
elif received == "no":
   print("your friend has not snapped with you")
if sent == "yes":
   if received received == "yes":
      print("you started a Snapstreak!")

Logical operators allow you to connect Boolean expressions to create a compound expression.

Example 1

Rewrite the Introductory Problem using the logical and operator. If both conditions are true, print, you started a Snapstreak! Else print, not so friendly yet.

example1.py
sent = input("Have you snapped with your friend for the past 3 days? ")
if sent == "yes":
   print("you snapped with your friend")
elif sent == "no":
   print("you have not snapped with your friend")
received = input("Has your friend snapped with you for the past 3 days? ")
if received == "yes":
   print("your friend snapped with you")
elif received == "no":
   print("your friend has not snapped with you")
if sent == "yes" and received == "yes":
   print("you started a Snapstreak!")
else:
   print("not so friendly yet")

Example 2

Snapchat decides to change its criteria for creating a Snapstreak. Now only one user has to send a message to the other for three days. Change the code to satisify the new condition.

example2.py
sent = input("Have you snapped with your friend for the past 3 days? ")
if sent == "yes":
   print("you snapped with your friend")
elif sent == "no":
   print("you have not snapped with your friend")
received = input("Has your friend snapped with you for the past 3 days? ")
if received == "yes":
   print("your friend snapped with you")
elif received == "no":
   print("your friend has not snapped with you")
if sent == "yes" or received == "yes":
   print("you started a Snapstreak!")
else:
   print("not so friendly yet")

Example 3

Hundred emoji. Ask the user:

  • how many days in a row have you sent your friend a message?

  • how many days in a row has your friend has sent you a message?

If you and your friend have sent a message to each other for more than 100 days in a row, print you receive a hundred emoji. Otherwise, print not there yet.

example3.py
dayssent = int(input("How many days in a row have you sent your friend a message? "))
daysreceived = int(input("How many days in a row has your friend sent you a message? "))
if dayssent >= 100 and daysreceived >= 100:
   print("you receive a hundred emoji")
else:
   print("not there yet")

Last updated