Beginner Projects Level 1¶
These projects use only what you learn in the Beginner Core Python track: variables, control flow, functions, data structures, and file handling. Each is small enough to finish, which is the whole point.
1. Number guessing game¶
Goal: the computer picks a random number; the player guesses with "higher/lower" hints.
- Skills: loops, conditionals,
random,input, comparison. - Minimal version: guess a number 1-100, print "higher" or "lower", count guesses.
- Stretch: difficulty levels, limited guesses, play-again loop, track best score in a file.
import random
secret = random.randint(1, 100)
# loop: read a guess, compare, give a hint, count attempts...
2. To-do list (CLI)¶
Goal: add, list, complete, and delete tasks from the command line, saved to a file.
- Skills: lists/dicts, functions, file read/write (JSON), a menu loop.
- Minimal version: add tasks and list them, held in memory.
- Stretch: persist to a JSON file (survives restarts), mark done, due dates, priorities. Turn it into a real CLI with
argparse(see Automation & Scripting).
3. Unit / temperature converter¶
Goal: convert between units (C↔F, km↔miles, kg↔lb).
- Skills: functions, arithmetic, user input, a menu.
- Minimal version: Celsius → Fahrenheit.
- Stretch: many unit categories, a reusable conversion table (dict), input validation.
4. Word / character counter¶
Goal: read a text file and report word count, line count, and most common words.
- Skills: file reading, string methods,
collections.Counter. - Minimal version: count lines and words in a file.
- Stretch: top-N words, ignore common stop-words, handle multiple files. (Uses ideas from Code Snippets.)
5. Simple password generator¶
Goal: generate a random password of a chosen length and character set.
- Skills:
random/secrets, strings, functions. - Minimal version: random 12-character password.
- Stretch: options for symbols/digits/case, generate several, estimate strength. Use the
secretsmodule (notrandom) for anything real — it's cryptographically secure.
6. Basic file organizer¶
Goal: sort files in a folder into subfolders by extension.
- Skills:
pathlib, loops, conditionals. - Minimal version: move
.txtfiles into atext/folder. - Stretch: organize by many types, dry-run mode, a summary report. This is literally the tested example in Automation & Scripting — build it, then compare.
Where to go next¶
Once a couple of these feel easy, you're ready for Intermediate Projects — real web apps and APIs. First, though: put one of these on GitHub with a README. Shipping and sharing is part of the skill.
Add one test
Even a beginner project benefits from a single test (e.g. "the converter turns 100°C into 212°F"). It's how you start the testing habit — see the Testing section.
💬 Discussion
Have a question about this topic? Found an error? Share your thoughts below.