Initial Commit v0.0.1
This commit is contained in:
commit
36e8e59bf1
99
main.py
Normal file
99
main.py
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user