/pyapps

Some terminal based apps in Python

Primary LanguagePython

Overview

By building these 10 terminal based apps we can learn and use
a lot of the most used functions and features in python. These are a useful bunch of apps to learn and improve your python skills. These apps are originally from TalkPython.fm

1 Hello World

What you will do and learn:

  • Verify Python environment
  • Console output
  • Basic syntax
  • Editors/IDEs
  • Strings
  • Variables
  • Accepting Input from user
  • String concatenation

2 Guess the Number Game

What you will do and learn:

  • Boolean statements
  • while loops
  • if / else if
  • type conversion
  • string formatting
  • functions (basics)
  • code blocks
  • truthiness

3 Birthday Countdown App

What you will do and learn:

  • Return Values (functions)
  • Dates
  • Time
  • Parameters (functions)
  • Time spans

4 Journal App

What you will do and learn:

  • Multiple files
  • complex conditionals
  • Live templates
  • File I/O
  • OS Independent path management
  • __ name __
  • Order independent methods
  • for-in loops
  • doc strings

5 Real-Time Weather App

What you will learn and do:

  • External packages
  • PyPI
  • pip
  • Beautiful Soup
  • HTTP clients
  • tuples
  • requests
  • screen scraping
  • named tuples

6 LOL Cat Factory

What you will learn and do:

  • HTTP clients
  • Subprocesses
  • Binary files
  • File / Folder name management

7 Wizard Game App

What you will use:

  • Classes
  • Inheritance
  • Initializers
  • Magic methods
  • Fields
  • Initializer chaining
  • Duck typing
  • Polymorphism

8 File Searching APP

What you will learn and do:

  • yield / yield from
  • Recursion
  • Path operations
  • String searching
  • Generator methods

9 Real Estate Analysis App

What you will learn and use:

  • Generator Expressions
  • str magic method
  • repr magic method
  • string parsing
  • list comprehensions
  • CSV file format
  • Coding for Python 2 and 3
  • data pipelines with generators

10 Movie Search App

What you will learn and use:

  • error handling
  • try / except blocks
  • multiple except
  • differentiating errors on type
  • reliable code
  • raising errors

Future Stuff

To improve on these apps:

  • Could add a GUI to them for desktop use
  • Some would work as mini Web apps (weather, movie apps)