14.03.2017 Views

Think Python

2n3bxCq

2n3bxCq

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Contents<br />

xv<br />

5 Conditionals and recursion 39<br />

5.1 Floor division and modulus . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

5.2 Boolean expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

5.3 Logical operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

5.4 Conditional execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

5.5 Alternative execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

5.6 Chained conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

5.7 Nested conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

5.8 Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

5.9 Stack diagrams for recursive functions . . . . . . . . . . . . . . . . . . . . . 44<br />

5.10 Infinite recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

5.11 Keyboard input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

5.12 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

5.13 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

5.14 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

6 Fruitful functions 51<br />

6.1 Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

6.2 Incremental development . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

6.3 Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

6.4 Boolean functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

6.5 More recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

6.6 Leap of faith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

6.7 One more example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

6.8 Checking types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

6.9 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

6.10 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

6.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!