()
| 107 | |
| 108 | |
| 109 | def main(): |
| 110 | expenses = load_expenses() |
| 111 | |
| 112 | while True: |
| 113 | print("\n--- Personal Expense Tracker ---") |
| 114 | print("1. Add new expense") |
| 115 | print("2. View expenses") |
| 116 | print("3. Filter by category") |
| 117 | print("4. Save expenses") |
| 118 | print("5. Exit") |
| 119 | |
| 120 | choice = input("Choose your option: ") |
| 121 | |
| 122 | if choice == "1": |
| 123 | add_expense(expenses) |
| 124 | elif choice == "2": |
| 125 | period = input("View expenses by (day/week/month/all): ").lower() |
| 126 | view_expenses(expenses, period) |
| 127 | elif choice == "3": |
| 128 | category_filter = input("Enter the category to filter by: ") |
| 129 | view_expenses(expenses, category_filter=category_filter) |
| 130 | elif choice == "4": |
| 131 | save_expenses(expenses) |
| 132 | elif choice == "5": |
| 133 | save_expenses(expenses) |
| 134 | print("Thank you!") |
| 135 | break |
| 136 | else: |
| 137 | print("Invalid option. Please try again.") |
| 138 | |
| 139 | |
| 140 | if __name__ == "__main__": |
no test coverage detected