Skip to main content
Library homepage
 

Text Color

Text Size

 

Margin Size

 

Font Type

Enable Dyslexic Font
Engineering LibreTexts

4.1: Boolean Values

( \newcommand{\kernel}{\mathrm{null}\,}\)

Learning Objectives

By the end of this section you should be able to

  • Explain a Boolean value.
  • Use bool variables to store Boolean values.
  • Demonstrate converting integers, floats, and strings to Booleans.
  • Demonstrate converting Booleans to integers, floats, and strings.
  • Use comparison operators to compare integers, floats, and strings.

bool data type

People often ask binary questions such as yes/no or true/false questions. Ex: Do you like pineapple on pizza? Ex: True or false: I like pineapple on pizza. The response is a Boolean value, meaning the value is either true or false. The bool data type, standing for Boolean, represents a binary value of either true or false. true and false are keywords, and capitalization is required.

Checkpoint: Example: Crosswalk sign
Concepts in Practice: Using Boolean variables

Consider the following code:

    is_fruit = "True"
    is_vegetable = 0
    is_dessert = False
1.
What is the data type of is_fruit?
  1. Boolean
  • integer
  • string
  • 2.
    What is the data type of is_vegetable?
    1. Boolean
    2. integer
    3. string
    3.
    What is the data type of is_dessert?
    1. Boolean
    2. integer
    3. string
    4.
    How many values can a Boolean variable represent?
    1. 2
    2. 4
    3. 8
    5.
    Which is a valid value for a Boolean variable?
    1. true
    2. True
    3. 1
    6.
    Suppose the following is added to the code above:
    is_dessert = 0
    print(type(is_dessert))
    
    What is the output?
    1. <class 'bool'>
    2. <class 'int'>
    3. Error

    Type conversion with bool()

    Deciding whether a value is true or false is helpful when writing programs/statements based on decisions. Converting data types to Booleans can seem unintuitive at first. Ex: Is "ice cream" True? But the conversion is actually simple.

    bool() converts a value to a Boolean value, True or False.

    • True: any non-zero number, any non-empty string
    • False: 0, empty string
    Checkpoint: Converting integers, floats, and strings using bool()
    Concepts in Practice: Converting numeric types and strings to Booleans
    7.
    bool(0.000)
    1. True
  • False
  • 8.
    bool(-1)
    1. True
    2. False
    9.
    bool("")
    1. True
    2. False
    10.
    bool("0")
    1. True
    2. False
    11.
    Given input False, what is bool(input())?
    1. True
    2. False
    Concepts in Practice: Converting Booleans to numeric types and strings

    Given is_on = True, what is the value of each expression?

    12.
    float(is_on)
    1. 0.0
  • 1.0
  • 13.
    str(is_on)
    1. "is_on"
    2. "True"
    14.
    int(is_on)
    1. 0
    2. 1

    Comparison operators

    Programmers often have to answer questions like "Is the current user the admin?" A programmer may want to compare a string variable, user, to the string, "admin". Comparison operators are used to compare values, and the result is either true or false. Ex: is_admin = (user == "admin"). user is compared with "admin" using the == operator, which tests for equality. The Boolean variable, is_admin, is assigned with the Boolean result.

    The 6 comparison operators:

    • equal to: ==
    • not equal to: !=
    • greater than: >
    • less than: <
    • greater than or equal to: >=
    • less than or equal to: <=
    Checkpoint: Example: Rolling a d20 in a tabletop game
    Concepts in Practice: Comparing values

    For each new variable, what is the value of compare_result?

    15.
    x = 14
    compare_result = (x <= 13)
    
    1. True
  • False
  • 16.
    w = 0
    compare_result = (w != 0.4)
    
    1. True
    2. False
    17.
    v = 4
    compare_result = (v < 4.0)
    
    1. True
    2. False
    18.
    y = 2
    compare_result = (y > "ab")
    
    1. True
    2. False
    3. Error
    19.
    z = "cilantro"
    compare_result = (z == "coriander")
    
    1. True
    2. False
    20.
    a = "dog"
    compare_result = (a < "cat")
    
    1. True
    2. False
    = vs ==

    A common mistake is using = for comparison instead of ==. Ex: is_zero = num=0 will always assign is_zero and num with 0, regardless of num's original value. The = operator performs assignment and will modify the variable. The == operator performs comparison, does not modify the variable, and produces True or False.

    Exploring further
    Try It: Friday Boolean

    "It's Friday, I'm in love" —from "Friday I'm in Love," a song released by the Cure in 1992.

    Write a program that reads in the day of the week. Assign the Boolean variable, in_love, with the result of whether the day is Friday or not.

    Try It: Even numbers

    Write a program that reads in an integer and prints whether the integer is even or not. Remember, a number is even if the number is divisible by 2. To test this use number % 2 == 0. Ex: If the input is 6, the output is "6 is even: True".


    This page titled 4.1: Boolean Values is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by OpenStax via source content that was edited to the style and standards of the LibreTexts platform.

    Support Center

    How can we help?