In the last exercise you worked out some if-statements
, and then tried to
guess what they are and how they work. Before you learn more I'll explain what
everything is by answering the questions you had from extra credit. You did
the extra credit right?
- What do you think the
if
does to the code under it? An if statement creates what is called a "branch" in the code. It's kind of like those choose your own adventure books where you are asked to turn to one page if you make one choice, and another if you go a different direction. Theif-statement
tells your script, "If this boolean expression is True, then run the code under it, otherwise skip it." - Why does the code under the
if
need to be indented 4 spaces? A colon at the end of a line is how you tell Python you are going to create a new "block" of code, and then indenting 4 spaces tells Python what lines of code are in that block. This is exactly the same thing you did when you made functions in the first half of the book. - What happens if it isn't indented?
If it isn't indented, you will most likely create a Python error. Python
expects you to indent something after you end a line with a
:
(colon). - Can you put other boolean expressions from Ex. 27 in the
if
statement? Try it. Yes you can, and they can be as complex as you like, although really complex things generally are bad style. - What happens if you change the initial values for
people
,cats
, anddogs
? Because you are comparing numbers, if you change the numbers, differentif-statements
will evaluate toTrue
and the blocks of code under them will run. Go back and put different numbers in and see if you can figure out in your head what blocks of code will run.
Compare my answers to your answers, and make sure you really understand the concept of
a "block" of code. This is important for when you do the next exercise where you write
all the parts of if-statements
that you can use.
Type this one in and make it work too.
.. literalinclude:: ex/ex30.py :linenos:
.. literalinclude:: ex/ex30.txt :language: console
- Try to guess what
elif
andelse
are doing. - Change the numbers of
cars
,people
, andbuses
and then trace through eachif-statement
to see what will be printed. - Try some more complex boolean expressions like
cars > people and buses < cars
. - Above each line write an English description of what the line does.