commit 36e8e59bf132ede1cb8031b89e2957042bd19a0b Author: TropiiDev Date: Tue Apr 15 23:17:17 2025 -0400 Initial Commit v0.0.1 diff --git a/main.py b/main.py new file mode 100644 index 0000000..3c58ecf --- /dev/null +++ b/main.py @@ -0,0 +1,99 @@ +# A classic budgeting app written in Python. +# Author: Tropii +import time + +# Classes +class Items: + def __init__(self, name, price): + self.name = name + self.price = price + def __str__(self): + return f"{self.name}: ${self.price}" + +user_items = [] +user_budget = 0 + +# Functions + +def add_item(name: str, price: float) -> None: + item = Items(name, price) + + user_items.append(item) + print("Item added") + time.sleep(2) + return + +def remove_item(name: str) -> None: + for i in range(len(user_items)): + if user_items[i].name == name: + user_items.pop(i) + print("Item removed") + time.sleep(2) + return + else: + print("Item could not be found") + time.sleep(2) + return + +def get_all_items() -> None: + if len(user_items) == 0: + print("You have no items yet.") + time.sleep(2) + return + + for i in range(len(user_items)): + print(f"Item Name: {user_items[i].name}, Price: {user_items[i].price}\n") + + time.sleep(2) + +def calculate_balance() -> None: + total_costs = 0 + for i in range(len(user_items)): + total_costs += user_items[i].price + + balance = round(user_budget - total_costs, 2) + + if balance == 0: + print("You have enough money for all your items.") + time.sleep(2) + elif balance > 0: + print(f"You have ${"%.2f" % balance} left over after purchasing your items") + time.sleep(2) + elif balance < 0: + print(f"You do not have enough money for these items. You are ${"%.2f" % balance} short..") + time.sleep(2) + + +while True: + print(""" + Welcome to the Budgeting App! + 1. Set budget + 2. View budget + 3. Add item + 4. Remove item + 5. View items + 6. Calculate Costs + 7. Exit + """) + choice = input("Enter your choice: ") + if choice == "1": + user_budget = int(input("Enter a budget (Must be a valid number): ")) + if user_budget <= 0: + print("Invalid budget number.") + elif choice == "2": + print(f"Current budget: {user_budget}") + elif choice == "3": + item_name = input("Enter the item name: ") + item_price = float(input(f"Enter the price for {item_name}: ")) + + add_item(item_name, item_price) + elif choice == "4": + item_name = input("Enter the name of the item you want to delete: ") + + remove_item(item_name) + elif choice == "5": + get_all_items() + elif choice == "6": + calculate_balance() + elif choice == "7": + break