{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chained Comparison Operators\n", "\n", "An interesting feature of Python is the ability to *chain* multiple comparisons to perform a more complex test. You can use these chained comparisons as a shorthand for larger Boolean Expressions.\n", "\n", "In this lecture we will learn how to chain comparison operators and we will also introduce two other important statements in python: **and** and **or**.\n", "\n", "Let's look at a few examples of using chains:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1 < 2 < 3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above statement check if 1 was less than 2 **and** if 2 was less than 3. We could have written this using an **and** statement in Python:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1<2 and 2<3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The **and** is used to make sure two checks have to be true in order for the total check to be true. Let's see another example:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1 < 3 > 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above checks if 3 is larger than both the other numbers, so you could use **and** to rewrite it as:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1<3 and 3>2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Its important to note that Python is checking both instances of the comparisons. We can also use **or** to write comparisons in Python. For example:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1==2 or 2<3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note how it was true, this is because with the **or** operator, we only need one *or* the other two be true. Let's see one more example to drive this home:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1==1 or 100==1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Great! For an overview of this quick lesson: You should have a comfortable understanding of using **and** and **or** statements as well as reading chained comparison code.\n", "\n", "Go ahead and go to the quiz for this section to check your understanding!" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }