Based on Zed Shaw's "Learn Python the Hard Way," this is a review of Exercises 27 - 34 in that text. For non-computer-science students and learners. Updated with new slides Feb. 2, 2014. Introduces Booleans, if-elif-else, loops, lists.
1. Learn Python the Hard Way
Exercises 27 – 34
http://learnpythonthehardway.org/
2. New things in ex. 27–34
• Booleans: True, False, logic, operators
• if – elif – else: Note the relationship to True
and False
• loops: 2 kinds, for and while
• lists and how to
– create a new list
– add and delete things from lists
– find out what’s in a list
3. How the Boolean AND works
There is a very long bungee jump above a deep
river gorge in Africa. You say:
“If the bungee jump looks safe and it is cheap,
then I will do it.”
4. How the Boolean AND works
“If the bungee jump looks safe and it is cheap,
then I will do it.”
looks safe = False (you won’t do it)
is cheap = False (you won’t do it)
You’ll only do it if both conditions are TRUE.
5. How the Boolean OR works
There is a great party Tuesday night, but you are
in danger of failing your Wednesday test.
You say:
“If I finish studying in time or the test is
canceled, then I will go to the party.”
6. How the Boolean OR works
“If I finish studying in time or the test is
canceled, then I will go to the party.”
finish studying = True (can go)
test canceled = True (can go)
You can go if only one of the conditions is TRUE.
Or both. But one is enough.
7. and
True and True : True
True and False :
False
False and True :
False
False and False :
False
True or True : True
True or False : True
False or True : True
False or False : False
“If the bungee jump looks safe and it is cheap,
then I will do it.”
“If I finish studying in time or the test is canceled, then I
will go to the party.”
or
15. Loops
• Every programming language has loops
• A loop typically runs over and over until
something makes it stop (different from a
usual function, which runs only once)
• The “for” loop is a standard kind of loop
• for-loops can appear inside a function
Exercise 32
16. Loops
• Standard syntax for starting a for-loop in
Python:
for fruit in fruits:
Exercise 32
Note that fruit could be any variable name, like x or a or cat.
In this case, there must already be a list named
fruits
(more about lists in a minute)
17. Loops
• Also standard syntax (but different) for
starting a for-loop in Python:
for i in range(0, 9):
Exercise 32
In this case, we don’t know the name of the list
yet. Or maybe this loop does not even use a list.
18. So, 2 different for-loops
for fruit in fruits:
print fruit
Exercise 32
for i in range(0, 9):
print "Hello!"
Like functions, loops must be indented. They can have many
lines. These are short just to make them simple.
19. while-loops
Exercise 33
• The “while” loop is another standard kind of
loop
• while-loops can appear inside a function
• If you can figure out how to do what you want
with a for-loop, then use a for-loop.
• If you must use a while-loop, be careful that it
will not run forever. If it does, it’s an infinite
loop (which is NOT good).
20. Lists
• In many languages, a “list” is called an “array”
(but Zed says we should say “list” for Python)
• Lists can be gigantic—there can be thousands
of items in one list, or none
• The standard format of a list in Python:
fruits = ['apples', 'oranges', 'pears',
'apricots']
Exercise 32
Note: If there are numbers in the list, they won’t have quotes around them.
21. Loops and Lists
These two for-loops do exactly the same thing:
fruits = ['apples', 'oranges', 'pears',
'apricots']
for fruit in fruits:
print "A fruit of type: %s" % fruit
for y in fruits:
print "A fruit of type: %s" % y
Exercise 32
22. Lists
• You actually already saw a list in Exercise 25,
when you did this:
words = stuff.split(' ')
• After that, words contained a list:
['All', 'good', 'things', 'come', 'to',
'those', 'who', 'wait.']
• You can use pop() and len() on any list
Exercise 32
23. Some things we do with lists
fruits.pop()
fruits.append("bananas")
fruits.extend(["plums", "mangoes"])
del fruits[2]
print fruits
With append() you can add only one item at a time to the list.
25. Items in lists
Exercise 34:
Items in lists can be counted.
Items in lists can be referenced by number, but the first
number is not 1 — it is 0.
26. Back to while-loops
• You might think the while-loops act a lot like
the for-loops that used range (and you would
be right)
• However, the while-loops are different
• The condition at the start of a while-loop
could test for something not numeric, such as
“while we are not yet at the end of the file”
• Note: for-loops are very common, and
while-loops are less so (as Zed says: “Usually a
for-loop is better”)
Exercise 33
27. Learning … while-loops
• You really need to play with a lot of the extra
credit or “study drills” in Exercise 33 to get this
into your brain
• I made four different .py files to test all the
comparisons that Zed recommends
• If you play with this, you can really understand
how for-loops and while-loops are different
Exercise 33
29. A word of advice
So Exercise 31 is long, but easy. You might feel
like now it’s all getting easy …
BUT WAIT! No, it’s not.
• Exercise 32 introduces the for-loop.
• Exercise 33 introduces the while-loop.
• Exercise 34 introduces how we navigate
through the elements in a list.
These last 3 exercises are QUITE challenging!
30. Indents in Python
• The usual way is to indent 4 spaces (not a tab
indent — actually type 4 spaces)
• If you accidentally type 3, or 5, or something
else, and all the others are 4, Python will
throw an error
• Most programming languages require multiple
levels of indents, and these levels (and the
format of indenting) are important, so take
care
31. An example of multiple
indent levels within a
Python program
32. Learn Python the Hard Way
Exercises 27 – 34
(now we know some stuff)
Hinweis der Redaktion
SOURCE http://learnpythonthehardway.org/book/
The way AND and OR work in programming languages is pretty much the same as the way we use them in real life.
When you say IF with AND, you usually mean that both things have to happen.
Again, the way AND and OR work in programming languages is pretty much the same as the way we use them in real life.
When you say IF with OR, you usually mean that only one of the things has to happen.
Questions?
Questions?
CODE EXAMPLE. LPTHW Exercise 28. Zed gives you lots of examples to play with. PLAY. It works!
CODE EXAMPLE. LPTHW Exercises 29 and 30. Introduction to IF and IF – ELSE.
CODE EXAMPLE. LPTHW Exercises 29 and 30. Introduction to IF and IF – ELSE.
CODE EXAMPLE. LPTHW Exercise 30. Note that when the condition is met, none of the other “elifs” after that are executed. They do not run.
NOTE: I’m skipping over Exercise 31 because it is just more of the same from Exercise 30.
Just a quick hop forward to exercise 33 – we will come back to it later.
Review LPTHW Exercise 25 and try to play with lists, using things you did in Ex. 25. WHY DID WE SPLIT? By turning freetext into a list, we can examine it in all kinds of ways. We are sort (alphabetical order), pop() words off the ends, move words from one list to another. And more.
CODE EXAMPLE. LPTHW Exercise 32. Adding “range” allows you to make a different kind of “for” loop, with a limited number of times that it will run. This version (0, 100), would run 100 times, except that I built in a “break.”
LPTHW Exercise 34 -- The most important thing to understand about this is that you can pluck out any item in a list, but you must remember that the first one is item “0” and not item “1.”
LPTHW Exercise 33
LPTHW Exercise 33
LPTHW Exercise 33 -- notice how I write comments for myself. I find them to be VERY helpful to me when I look at the code weeks or months later.
These things are really important in programming – AND you will see all of them AGAIN in JavaScript and jQuery, after Spring Break. So it’s in your best interest to spend time with them NOW and really try to understand them.
This comes from an example in the book Visualize This, by Nathan Yau, pp. 288ff. The exercise is to color-code a U.S. map using data on unemployment in each U.S. county.