learn python the hard way - 7chan · pdf filewelcome to the 2nd edition of learn python the...

Download Learn Python The Hard Way - 7chan · PDF fileWelcome to the 2nd Edition of Learn Python the hard way. ... you will have a problem learning to code. ... for an hour at least and then

If you can't read please download the document

Upload: hatuong

Post on 07-Feb-2018

230 views

Category:

Documents


2 download

TRANSCRIPT

  • Learn Python The Hard WayRelease 2.0

    Zed A. Shaw

    June 24, 2011

  • CONTENTS

    The Hard Way Is Easier 3Reading and Writing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Attention to Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Spotting Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Do Not Copy-Paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4A Note On Practice And Persistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Special Thanks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Exercise 0: The Setup 7Mac OSX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Warnings For Beginners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    Exercise 1: A Good First Program 13What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    Exercise 2: Comments And Pound Characters 17What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Exercise 3: Numbers And Math 19What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    Exercise 4: Variables And Names 21What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    i

  • Exercise 5: More Variables And Printing 23What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    Exercise 6: Strings And Text 25What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    Exercise 7: More Printing 27What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    Exercise 8: Printing, Printing 29What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    Exercise 9: Printing, Printing, Printing 31What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Exercise 10: What Was That? 33What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    Exercise 11: Asking Questions 35What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    Exercise 12: Prompting People 37What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    Exercise 13: Parameters, Unpacking, Variables 39Hold Up! Features Have Another Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    Exercise 14: Prompting And Passing 43What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    Exercise 15: Reading Files 45What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    Exercise 16: Reading And Writing Files 49What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    ii

  • Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    Exercise 17: More Files 53What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    Exercise 18: Names, Variables, Code, Functions 55What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    Exercise 19: Functions And Variables 59What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    Exercise 20: Functions And Files 61What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    Exercise 21: Functions Can Return Something 63What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    Exercise 22: What Do You Know So Far? 67What You are Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    Exercise 23: Read Some Code 69

    Exercise 24: More Practice 71What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Exercise 25: Even More Practice 73What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    Exercise 26: Congratulations, Take A Test! 77

    Exercise 27: Memorizing Logic 79The Truth Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80The Truth Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    Exercise 28: Boolean Practice 83What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    Exercise 29: What If 87What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    iii

  • Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    Exercise 30: Else And If 89What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    Exercise 31: Making Decisions 91What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    Exercise 32: Loops And Lists 95What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    Exercise 33: While Loops 99What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    Exercise 34: Accessing Elements Of Lists 103Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    Exercise 35: Branches and Functions 105What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    Exercise 36: Designing and Debugging 109Rules For If-Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Rules For Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110Tips For Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110Homework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    Exercise 37: Symbol Review 111Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .