*Math Adventures with Python* will show you how to harness the power of programming to keep math relevant and fun. With the aid of the Python programming language, you’ll learn how to visualize solutions to a range of math problems as you use code to explore key mathematical concepts like algebra, trigonometry, matrices, and cellular automata.

Once you’ve learned the programming basics like loops and variables, you’ll write your own programs to solve equations quickly, make cool things like an interactive rainbow grid, and automate tedious tasks like factoring numbers and finding square roots. You’ll learn how to write functions to draw and manipulate shapes, create oscillating sine waves, and solve equations graphically.

You’ll also learn how to:

•Draw and transform 2D and 3D graphics with matrices

•Make colorful designs like the Mandelbrot and Julia sets with complex numbers

•Use recursion to create fractals like the Koch snowflake and the Sierpinski triangle

•Generate virtual sheep that graze on grass and multiply autonomously

•Crack secret codes using genetic algorithms

As you work through the book’s numerous examples and increasingly challenging exercises, you’ll code your own solutions, create beautiful visualizations, and see just how much more fun math can be!

- Cover Page
- Title Page
- Copyright Page
- Dedication
- ABOUT THE AUTHOR
- ABOUT THE TECHNICAL REVIEWER
- BRIEF CONTENTS
- CONTENTS IN DETAIL
- ACKNOWLEDGMENTS
- INTRODUCTION
- PART I: HITCHIN’ UP YOUR PYTHON WAGON
- 1 DRAWING POLYGONS WITH THE TURTLE MODULE
- 2 MAKING TEDIOUS ARITHMETIC FUN WITH LISTS AND LOOPS
- 3 GUESSING AND CHECKING WITH CONDITIONALS
- PART 2: RIDING INTO MATH TERRITORY
- 4 TRANSFORMING AND STORING NUMBERS WITH ALGEBRA
- 5 TRANSFORMING SHAPES WITH GEOMETRY
- 6 CREATING OSCILLATIONS WITH TRIGONOMETRY
- 7 COMPLEX NUMBERS
- 8 USING MATRICES FOR COMPUTER GRAPHICS AND SYSTEMS OF EQUATIONS
- PART 3: BLAZING YOUR OWN TRAIL
- 9 BUILDING OBJECTS WITH CLASSES
- 10 CREATING FRACTALS USING RECURSION
- 11 CELLULAR AUTOMATA
- 12 SOLVING PROBLEMS USING GENETIC ALGORITHMS
- INDEX