0

# Learning Python - Week 4

2,441

Published on

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.

Published in: Education, Technology
3 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total Views
2,441
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
41
0
Likes
3
Embeds 0
No embeds

No notes for slide
• 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 bookVisualize 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.
• ### Transcript of "Learning Python - Week 4 "

1. 1. Learn Python the Hard Way Exercises 27 – 34 http://learnpythonthehardway.org/
2. 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. 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. 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. 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. 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. 7. and True True False False False False False or and True : True and False : and True : True True False False or or or or True False True False : : : : True True True False and 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.”
8. 8. Boolean operators (symbols) 1 != 0 1 == (3 – 2) 5 >= 1 10 <= 100 1 != (3 – 2) 1 == 0 5 <= 1 10 >= 100 True True True True False False False False
9. 9. Exercise 28
10. 10. if – elif – else (if statements)
11. 11. Exercises 29 and 30
12. 12. Exercises 29 and 30
13. 13. Exercise 30
14. 14. Loops Lists
15. 15. Loops Exercise 32 • 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
16. 16. Loops Exercise 32 • Standard syntax for starting a for-loop in Python: for fruit in fruits: 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. 17. Loops Exercise 32 • Also standard syntax (but different) for starting a for-loop in Python: for i in range(0, 9): In this case, we don’t know the name of the list yet. Or maybe this loop does not even use a list.
18. 18. So, 2 different for-loops Exercise 32 for fruit in fruits: print fruit 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. 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. 20. Lists Exercise 32 • 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', 'apricot s'] Note: If there are numbers in the list, they won’t have quotes around them.
21. 21. Loops and Lists Exercise 32 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
22. 22. Lists Exercise 32 • 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
23. 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.
24. 24. Exercises 32, 34
25. 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. 26. Back to while-loops Exercise 33 • 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”)
27. 27. Learning … while-loops Exercise 33 • 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
28. 28. Zed’s Exercise 33
29. 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. 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. 31. An example of multiple indent levels within a Python program
32. 32. Learn Python the Hard Way Exercises 27 – 34 (now we know some stuff)
1. #### A particular slide catching your eye?

Clipping is a handy way to collect important slides you want to go back to later.