Key Concepts

Review core concepts you need to learn to master this subject

Conditional Control

Conditional statements or conditional control structures allow a program to have different behaviors depending on certain conditions being met.

Intuitively, this mimics the way humans make simple decisions and act upon them. For example, reasoning about whether to go outside might look like:

  • Condition: Is it raining outside?
    • If it is raining outside, then bring an umbrella.
    • Otherwise, do not bring an umbrella.

We could keep adding clauses to make our reasoning more sophisticated, such as “If it is sunny, then wear sunscreen”.

Control Flow

In programming, control flow is the order in which statements and instructions are executed. Programmers are able to change a program’s control flow using control structures such as conditionals.

Being able to alter a program’s control flow is powerful, as it lets us adapt a running program’s behavior depending on the state of the program. For example, suppose a user is using a banking application and wants to withdraw $500. We certainly want the application to behave differently depending on whether the user has $20 or $1000 in their bank account!

elif Statement

The Python elif statement allows for continued checks to be performed after an initial if statement. An elif statement differs from the else statement because another expression is provided to be checked, just as with the initial if statement.

If the expression is True, the indented code following the elif is executed. If the expression evaluates to False, the code can continue to an optional else statement. Multiple elif statements can be used following an initial if to perform a series of checks. Once an elif expression evaluates to True, no further elif statements are executed.

Handling Exceptions in Python

A try and except block can be used to handle error in code block. Code which may raise an error can be written in the try block. During execution, if that code block raises an error, the rest of the try block will cease executing and the except code block will execute.

or Operator

The Python or operator combines two Boolean expressions and evaluates to True if at least one of the expressions returns True. Otherwise, if both expressions are False, then the entire expression evaluates to False.

Equal Operator ==

The equal operator, ==, is used to compare two values, variables or expressions to determine if they are the same.

If the values being compared are the same, the operator returns True, otherwise it returns False.

The operator takes the data type into account when making the comparison, so a string value of "2" is not considered the same as a numeric value of 2.

Not Equals Operator !=

The Python not equals operator, !=, is used to compare two values, variables or expressions to determine if they are NOT the same. If they are NOT the same, the operator returns True. If they are the same, then it returns False.

The operator takes the data type into account when making the comparison so a value of 10 would NOT be equal to the string value "10" and the operator would return True. If expressions are used, then they are evaluated to a value of True or False before the comparison is made by the operator.

Comparison Operators

In Python, relational operators compare two values or expressions. The most common ones are:

  • < less than
  • > greater than
  • <= less than or equal to
  • >= greater than or equal too

If the relation is sound, then the entire expression will evaluate to True. If not, the expression evaluates to False.

if Statement

The Python if statement is used to determine the execution of code based on the evaluation of a Boolean expression.

  • If the if statement expression evaluates to True, then the indented code following the statement is executed.
  • If the expression evaluates to False then the indented code following the if statement is skipped and the program executes the next line of code which is indented at the same level as the if statement.

else Statement

The Python else statement provides alternate code to execute if the expression in an if statement evaluates to False.

The indented code for the if statement is executed if the expression evaluates to True. The indented code immediately following the else is executed only if the expression evaluates to False. To mark the end of the else block, the code must be unindented to the same level as the starting if line.

and Operator

The Python and operator performs a Boolean comparison between two Boolean values, variables, or expressions. If both sides of the operator evaluate to True then the and operator returns True. If either side (or both sides) evaluates to False, then the and operator returns False. A non-Boolean value (or variable that stores a value) will always evaluate to True when used with the and operator.

Boolean Values

Booleans are a data type in Python, much like integers, floats, and strings. However, booleans only have two values:

  • True
  • False

Specifically, these two values are of the bool type. Since booleans are a data type, creating a variable that holds a boolean value is the same as with other data types.

not Operator

The Python Boolean not operator is used in a Boolean expression in order to evaluate the expression to its inverse value. If the original expression was True, including the not operator would make the expression False, and vice versa.

  1. 1
    How do computers make decisions? Here are a few examples: * Web surfing: Open the browser, load the text, load the images. * Social media: If the user’s profile is private, hide their posts. Other…
  2. 2
    If the user’s profile is private, hide their posts. Otherwise, make them visible. Computers can run instructions on their own, leaving us to work on more interesting and creative problems. But c…
  3. 3
    Repeat a sound four times a measure. Computers are good at repetitive tasks: they exactly follow instructions and perform them quickly. But if the programmer has to write the same instructions f…
  4. 4
    Collect shipping and email address. Reject a purchase if either is incorrect. Errors, or exceptions, happen all the time in programming. You can’t escape them. But you can handle them gracefully…
  5. 5
    Let’s recreate the conditional control structure using JavaScript! (The one about social media posts, remember?) ![Diagram of conditional control structure](…
  6. 6
    Well done! Control flow is a fundamental concept in programming, and learning the basics will serve you wherever your path leads, regardless of language or domain. In review: - Control flow is t…
  1. 1
    Imagine waking up in the morning. You wake up and think, “Ugh, is it a weekday?” If so, you have to get up and get dressed and get ready for work or school. If not, you can sleep in a bit lon…
  2. 2
    In order to build control flow into our program, we want to be able to check if something is true or not. A boolean expression is a statement that can either be True or False. Let’s go back to the…
  3. 3
    Now that we understand what boolean expressions are, let’s learn to create them in Python. We can create a boolean expression by using relational operators. Relational operators compare two it…
  4. 4
    Before we go any further, let’s talk a little bit about True and False. You may notice that when you type them in the code editor (with uppercase T and F), they appear in a different color than var…
  5. 5
    “Okay okay okay, boolean variables, boolean expressions, blah blah blah, I thought I was learning how to build control flow into my code!” You are, I promise you! Understanding boolean variabl…
  6. 6
    Now that we’ve added conditional statements to our toolkit for building control flow, let’s explore more ways to create boolean expressions. So far we know two relational operators, equals and not …
  7. 7
    Often, the conditions you want to check in your conditional statement will require more than one boolean expression to cover. In these cases, you can build larger boolean expressions using _boolean…
  8. 8
    The boolean operator or combines two expressions into a larger expression that is True if either component is True. Consider the statement Oranges are a fruit or apples are a vegetable. This st…
  9. 9
    The final boolean operator we will cover is not. This operator is straightforward: when applied to any boolean expression it reverses the boolean value. So if we have a True statement and apply a n…
  10. 10
    As you can tell from your work with Calvin Coolidge’s Cool College, once you start including lots of if statements in a function the code becomes a little cluttered and clunky. Luckily, there are…
  11. 11
    We have if statements, we have else statements, we can also have elif statements. Now you may be asking yourself, what the heck is an elif statement? It’s exactly what it sounds like, “else if”. A…
  12. 12
    if, elif, and else statements aren’t the only way to build a control flow into your program. You can use try and except statements to check for possible errors that a user might encounter. The gen…
  13. 13
    Great job! We covered a ton of material in this lesson and you’ve increased the number of tools in your Python toolkit by several-fold. Let’s review what you’ve learned this lesson: - Boolean expr…