Learn Python The Hard Way - 7chan

Learn Python The Hard Way

Release 2.0 Zed A. Shaw

June 24, 2011

CONTENTS

The Hard Way Is Easier

3

Reading and Writing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Attention to Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Spotting Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Do Not Copy-Paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

A Note On Practice And Persistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Special Thanks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Exercise 0: The Setup

7

Mac OSX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Warnings For Beginners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Exercise 1: A Good First Program

13

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Exercise 2: Comments And Pound Characters

17

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Exercise 3: Numbers And Math

19

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Exercise 4: Variables And Names

21

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

i

Exercise 5: More Variables And Printing

23

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Exercise 6: Strings And Text

25

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Exercise 7: More Printing

27

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Exercise 8: Printing, Printing

29

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Exercise 9: Printing, Printing, Printing

31

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Exercise 10: What Was That?

33

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Exercise 11: Asking Questions

35

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Exercise 12: Prompting People

37

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Exercise 13: Parameters, Unpacking, Variables

39

Hold Up! Features Have Another Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Exercise 14: Prompting And Passing

43

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Exercise 15: Reading Files

45

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Exercise 16: Reading And Writing Files

49

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

ii

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

Exercise 17: More Files

53

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Exercise 18: Names, Variables, Code, Functions

55

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Exercise 19: Functions And Variables

59

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Exercise 20: Functions And Files

61

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Exercise 21: Functions Can Return Something

63

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Exercise 22: What Do You Know So Far?

67

What You are Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Exercise 23: Read Some Code

69

Exercise 24: More Practice

71

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Exercise 25: Even More Practice

73

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Exercise 26: Congratulations, Take A Test!

77

Exercise 27: Memorizing Logic

79

The Truth Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

The Truth Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Exercise 28: Boolean Practice

83

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Extra Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Exercise 29: What If

87

What You Should See . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

iii

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download