Python Playground

Python Playground
Geeky Projects for the Curious Programmer
by 
Mahesh Venkitachalam
October 2015, 352 pp.
ISBN-13: 
978-1-59327-604-1

Download Chapter 3: Conway’s Game of Life
Download the code used in the book

Python is a powerful programming language that’s easy to learn and fun to play with. But once you’ve gotten a handle on the basics, what do you do next?

Python Playground is a collection of imaginative programming projects that will inspire you to use Python to make art and music, build simulations of real-world phenomena, and interact with hardware like the Arduino and Raspberry Pi. You’ll learn to use common Python tools and libraries like numpy, matplotlib, and pygame to do things like:

  • Generate Spirograph-like patterns using parametric equations and the turtle module
  • Create music on your computer by simulating frequency overtones
  • Translate graphical images into ASCII art
  • Write an autostereogram program that produces 3D images hidden beneath random patterns
  • Make realistic animations with OpenGL shaders by exploring particle systems, transparency, and billboarding techniques
  • Construct 3D visualizations using data from CT and MRI scans
  • Build a laser show that responds to music by hooking up your computer to an Arduino

Programming shouldn’t be a chore. Have some solid, geeky fun with Python Playground.

The projects in this book are compatible with both Python 2 and 3.

Author Bio 

Mahesh Venkitachalam is a software engineer with two decades of programming experience. He has nurtured a passion for technology since the eighth grade, which he channels into his popular electronics and programming blog, electronut.in.

Table of contents 

Part 1: Warming Up

Chapter 1: Parsing iTunes Playlists
Chapter 2: Spirographs

Part 2: Simulating Life

Chapter 3: Conway’s Game of Life
Chapter 4: Generating Musical Overtones with the Karplus-Strong Algorithm
Chapter 5: Boids: Simulating a Flock

Part 3: Fun with Images

Chapter 6: ASCII Art
Chapter 7: Photomosaics
Chapter 8: Autostereograms

Part 4: Enter 3D

Chapter 9: Understanding OpenGL
Chapter 10: Particle Systems
Chapter 11: Volume Rendering

Part 5: Hardware Hacking

Chapter 12: Introduction to Arduino
Chapter 13: Laser Audio Display
Chapter 14: A Raspberry Pi–based Weather Monitor

Appendix A: Software Installation
Appendix B: Basic Practical Electronics
Appendix C: Raspberry Pi Tips & Tricks

View the detailed Table of Contents (PDF)
View the Index

Reviews 

"If you want to become adept at doing clever things with Python, I doubt you'll find a better group of projects or more useful help for understanding how the language works."
IT World

"This is a book that belongs in every Python programmer's library."
Full Circle Magazine

"Packed with interesting projects."
iProgrammer

Read an interview with Mahesh Venkitachalam on InfoQ!

Mahesh Venkitachalam was selected as the Python Developer of the Week on Mouse v. Python! Read the full interview here.

"Python Playground targets programmers that want to further improve their skills and knowledge of the language. The book does a good job at explaining all relevant details and makes sure that readers get a clear pictures of what is going on."
InfoQ

Updates 

Page 20: In Figure 2-3, the angle theta (Θ) should be between the x-axis and the segment OC.

Page 20: In the formula for y, we're subtracting lksin((1 - k) / k * Θ), not adding it.