-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHWexpencetracker.py
More file actions
67 lines (58 loc) · 1.72 KB
/
HWexpencetracker.py
File metadata and controls
67 lines (58 loc) · 1.72 KB
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
import sqlite3
conn = sqlite3.connect("expenses.db")
c = conn.cursor()
c.execute("""
CREATE TABLE IF NOT EXISTS expenses (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
date TEXT,
amount REAL
)
""")
conn.commit()
def add_expense():
name = input("Enter expense name: ")
date = input("Enter expense date (dd-mm-yyyy): ")
amount = float(input("Enter expense amount: "))
c.execute("INSERT INTO expenses (name, date, amount) VALUES (?, ?, ?)",
(name, date, amount))
conn.commit()
print("✅ Expense added successfully!")
def view_expenses():
c.execute("SELECT * FROM expenses")
rows = c.fetchall()
if not rows:
print("No expenses found!")
else:
print("\n All Expenses ")
for row in rows:
print(f"ID: {row[0]}, Name: {row[1]}, Date: {row[2]}, Amount: {row[3]}")
print("\n")
def total_expenses():
c.execute("SELECT SUM(amount) FROM expenses")
total = c.fetchone()[0]
if total is None:
total = 0
print(f"\n Total Expenses: {total}\n")
def main():
while True:
print("\n Expense Tracker ")
print("1. Add Expense")
print("2. View Expenses")
print("3. Show Total Expenses")
print("4. Exit")
choice = input("Enter your choice: ")
if choice == "1":
add_expense()
elif choice == "2":
view_expenses()
elif choice == "3":
total_expenses()
elif choice == "4":
print("Exiting... Goodbye! 👋")
break
else:
print("Invalid choice! Please try again.")
conn.close()
if __name__ == "__main__":
main()