Great—this is exactly the right move. A tight checklist removes decision fatigue and keeps you from drifting or restarting.
Below is a 7-day, execution-focused plan. Treat it like a contract: don’t skip, don’t restart—just move forward.
- Spend ~70% coding, 30% reading
- If stuck >20 minutes → search or ask, then continue
- Finish imperfect code > restarting perfect code
- Every day ends with a working program
- Variables, strings, numbers
- Lists, dictionaries
if/else,for,while
-
Create variables:
- Name, age, is_student → print sentence
-
List practice:
- Store 5 numbers → print sum
-
Dictionary:
- Store
name → phone - Print a phone number by name
- Store
Requirements:
-
Ask user for:
- number1
- number2
- operation (+, -, *, /)
-
Print result
👉 Stretch:
- Handle invalid input
def, parameters, return values
- Function to add two numbers
- Function to check if number is even
- Function that takes a list and returns the max
Refactor yesterday’s calculator:
- Each operation = its own function
- Main program calls functions
👉 Stretch:
- Loop so user can calculate multiple times
open()- Modes:
"r","w","a" - Reading & writing text
- Write “Hello” to a file
- Read it back and print
- Append new lines
Requirements:
- Ask user for name + phone
- Save to file
- Load and display all contacts
👉 Format suggestion:
John,12345
Mary,67890
class__init__- Instance variables
- Methods
-
Create a
Dogclass:- name, age
- method:
bark()
-
Create 2 dog objects and call methods
Convert yesterday’s idea:
-
Create
Contactclass:- name
- phone
- method:
display()
👉 Don’t use files yet—just objects
- Multiple objects
- Basic composition (class inside another)
Create:
-
Contactclass -
ContactBookclass:-
list of contacts
-
methods:
- add_contact
- show_contacts
-
- Add 3 contacts
- Print all contacts using class methods
👉 Stretch:
- Add search by name
Features:
- Add contact
- View contacts
- Save to file
- Load from file
-
Contactclass -
ContactBookclass -
Functions:
save_to_file()load_from_file()
1. Add contact
2. View contacts
3. Save
4. Load
5. Exit
👉 This is your “I understand Python” moment
-
Add 2 features:
- Delete contact
- Search contact
-
Refactor:
- Clean messy code
- Improve naming
-
Rebuild ONE part from memory:
- e.g., recreate Contact class without looking
Add:
- Error handling (try/except)
- Prevent duplicate contacts
You can:
- Write structured Python programs
- Use functions properly
- Read/write files
- Build and use classes
- Understand basic OOP flow
Don’t restart. Instead:
- Shrink the task
- Make it work badly first
- Then improve it
If you want, I can:
- Review your Day 1 or Day 3 code
- Or walk you through Day 4 (classes) in a way that actually clicks
Just send what you’ve written 👍