ChatDev/WareHouse/MoneyCtrl_THUNLP_20230825093546/budget.py
2023-09-04 19:24:28 +08:00

30 lines
1.3 KiB
Python

'''
This file contains the Budget class which handles income, expense tracking, and reporting.
'''
class Budget:
def __init__(self):
self.income = []
self.expenses = []
def add_income(self, amount, description):
# Add income to the list
self.income.append({"amount": amount, "description": description})
def add_expense(self, amount, description):
# Add expense to the list
self.expenses.append({"amount": amount, "description": description})
def calculate_total_income(self):
# Calculate the total income
total_income = sum(income["amount"] for income in self.income)
return total_income
def calculate_total_expenses(self):
# Calculate the total expenses
total_expenses = sum(expense["amount"] for expense in self.expenses)
return total_expenses
def generate_report(self):
# Generate a report with income, expenses, and analytics
total_income = self.calculate_total_income()
total_expenses = self.calculate_total_expenses()
net_income = total_income - total_expenses if total_expenses else total_income
report = f"Total Income: ${total_income}\n"
report += f"Total Expenses: ${total_expenses}\n"
report += f"Net Income: ${net_income}\n"
return report