-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSimple Balance sheet.py
90 lines (70 loc) · 2.72 KB
/
Simple Balance sheet.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
class BalanceSheet:
def __init__(self):
self.assets = {}
self.liabilities = {}
self.equity = {}
def add_entry(self, category, name, amount):
if category == "assets":
self.assets[name] = self.assets.get(name, 0) + amount
elif category == "liabilities":
self.liabilities[name] = self.liabilities.get(name, 0) + amount
elif category == "equity":
self.equity[name] = self.equity.get(name, 0) + amount
else:
print("Invalid category. Please use 'assets', 'liabilities', 'equity'")
return # Exit the method if an invalid category is entered
print(f"{amount} added to {category} '{name}'")
def view_balance_sheet(self):
print("\nBalance Sheet:")
print("Assets:")
for name, amount in self.assets.items():
print(f"{name}: {amount}")
print("Liabilities:")
for name, amount in self.liabilities.items():
print(f"{name}: {amount}")
print("Equity:")
for name, amount in self.equity.items():
print(f"{name}: {amount}")
self.check_balance()
def check_balance(self):
total_assets = sum(self.assets.values())
total_liabilities = sum(self.liabilities.values())
total_equity = sum(self.equity.values())
print(f"Total Assets: {total_assets}")
print(f"Total Liabilities: {total_liabilities}")
print(f"Total Equity: {total_equity}")
if total_assets == total_liabilities + total_equity:
print("The Balance Sheet Balances.")
else:
print("The balance sheet is not balanced.")
def main():
bs = BalanceSheet()
while True:
print("\nBalance Sheet Management System")
print("1. Add Asset")
print("2. Add Liability")
print("3. Add Equity")
print("4. View Balance")
print("5. Exit")
choice = input("Enter your choice: ")
if choice == "1":
name = input("Enter asset name: ")
amount = float(input("Enter amount: "))
bs.add_entry("assets", name, amount)
elif choice == "2":
name = input("Enter liability name: ")
amount = float(input("Enter amount: "))
bs.add_entry("liabilities", name, amount)
elif choice == "3":
name = input("Enter equity name: ")
amount = float(input("Enter amount: "))
bs.add_entry("equity", name, amount)
elif choice == "4":
bs.view_balance_sheet()
elif choice == "5":
print("Exiting...")
break
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()