Introduction to Python Programming

# 4.1Boolean values

## 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.

## 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
2. integer
3. 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

## Concepts in Practice

### Converting numeric types and strings to Booleans

7.
bool(0.000)
1. True
2. 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
2. 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: <=

## 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
2. 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.

## 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 book may not be used in the training of large language models or otherwise be ingested into large language models or generative AI offerings without OpenStax's permission.

Want to cite, share, or modify this book? This book uses the Creative Commons Attribution License and you must attribute OpenStax.