Impractical Python Projects

Impractical Python Projects

Playful Programming Activities to Make You Smarter
by Lee Vaughan
November 2018, 424 pp.
ISBN-13: 
9781593278908


Download Chapter 3: Solving Anagrams

Impractical Python Projects picks up where the complete beginner books leave off, expanding on existing concepts and introducing new tools that you’ll use every day. And to keep things interesting, each project includes a zany twist featuring historical incidents, pop culture references, and literary allusions.

You’ll flex your problem-solving skills and employ Python’s many useful libraries to do things like:

  • Help James Bond crack a high-tech safe with a hill-climbing algorithm
  • Write haiku poems using Markov Chain Analysis
  • Use genetic algorithms to breed a race of gigantic rats
  • Crack the world’s most successful military cipher using cryptanalysis
  • Foil corporate security with invisible electronic ink
  • Derive the anagram, “I am Lord Voldemort” using linguistical sieves
  • Plan your parents’ secure retirement with Monte Carlo simulation
  • Save the sorceress Zatanna from a stabby death using palingrams
  • Model the Milky Way and calculate our odds of detecting alien civilizations
  • Help the world’s smartest woman win the Monty Hall problem argument
  • Reveal Jupiter’s Great Red Spot using optical stacking
  • Save the head of Mary, Queen of Scots with steganography

Simulate volcanoes, map Mars, and more, all while gaining valuable experience using free modules like Tkinter, matplotlib, Cprofile, Pylint, Pygame, Pillow, and Python-Docx.

Whether you’re looking to pick up some new Python skills or just need a pick-me-up, you’ll find endless educational, geeky fun with Impractical Python Projects.

Author Bio 

Lee Vaughan is a geologist with over 30 years' experience in the petroleum industry. As the Senior Technical Professional for Geological Modeling at a major international oil company, he was involved in the construction and review of computer models, the development, testing, and commercialization of software, and the training of geoscientists and engineers. An advocate for nonprogrammers who must use programming in their careers, he wrote Impractical Python Projects to help self-learners hone their skills with the Python language.

Table of contents 

Introduction
Chapter 1: Silly Name Generator
Chapter 2: Finding Palingram Spells
Chapter 3: Solving Anagrams
Chapter 4: Decoding American Civil War Ciphers
Chapter 5: Encoding English Civil War Ciphers
Chapter 6: Writing in Invisible Ink
Chapter 7: Breeding Giant Rats with Genetic Algorithms
Chapter 8: Counting Syllables for Haiku Poetry
Chapter 9: Writing Haiku with Markov Chain Analysis
Chapter 10: Are We Alone? Exploring the Fermi Paradox
Chapter 11: The Monty Hall Problem
Chapter 12: Securing your Nest Egg
Chapter 13: Simulating an Alien Volcano
Chapter 14: Mapping Mars with the Mars Orbiter
Chapter 15: Improving Your Astrophotography with Planet Stacking
Chapter 16: Finding Frauds with Benford's Law
Appendix: Practice Project Solutions

View the detailed Table of Contents
View the Index

Reviews 

"Python is programming language, but it is also fun to play with and this book recognises that."
—Geek Tech Stuff

"Rather than being an introductory text, Vaughan’s book pushes you in interesting directions for solving a diverse set of problems. Most of these “impractical” projects, while themselves being not so useless after all, will have parallels to real life projects."
Greg Laden, Greg Laden's Blog

"The book is not a Python tutorial or guide. Instead, it presents stimulating coding projects for non-programmers who want to use Python for doing experiments, test theories, or simulate natural phenomena.”
—Paolo Amoroso, Moonshots Beyond the Cloud Blog

"A must have second book for every developer that ever wants to learn Python as a language."
—Ian Mizer, Atlanta Python Programmers Group

"The writing is excellent . . . Every project is accessible and has enough explanation to motivate coding."
—Ravi Srinivasan, Playful Python

Updates 

View the latest errata.