A simple command-line Python script that lets a user enter expenses one by one and calculates the running total in real time.
Built as part of a Python fundamentals training track โ focused on core backend logic: input validation, loops, and the accumulator pattern.
- โ Enter unlimited expenses, one at a time
- ๐งฎ Live running total after every entry
- ๐ก๏ธ Handles invalid input gracefully (no crashes on typos)
- ๐ Type
doneanytime to stop and see your final summary - ๐ Tracks how many expenses were entered
=== Expense Tracker ===
Enter your expenses one by one.
Type 'done' when you are finished.
Enter an expense (or type 'done'): 100
Current Total: 100.0
Enter an expense (or type 'done'): 50
Current Total: 150.0
Enter an expense (or type 'done'): abc
Invalid input! Please enter a number.
Enter an expense (or type 'done'): 20
Current Total: 170.0
Enter an expense (or type 'done'): done
=== Total Summary ===
Total Expenses Entered: 3
Total Spent: 170.0
python expense_tracker.pyRequires only Python 3 โ no external libraries.
total = 0
count = 0
print("=== Expense Tracker ===")
print("Enter your expenses one by one.")
print("Type 'done' when you are finished.\n")
while True:
user_input = input("Enter an expense (or type 'done'): ")
if user_input.lower() == "done":
break
try:
expense = float(user_input)
except ValueError:
print("Invalid input! Please enter a number.")
continue
total = total + expense
count += 1
print("Current Total:", total)
print("\n=== Total Summary ===")
print("Total Expenses Entered:", count)
print("Total Spent:", total)| Concept | Where it's used |
|---|---|
| Accumulator pattern | total = total + expense |
| Input validation | try / except ValueError |
| Loop control (sentinel value) | while True + break on "done" |
| State management | total initialized outside the loop |
- Python 3
Tabassum Naseer.