-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
61 lines (38 loc) · 1.28 KB
/
app.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
import streamlit as st
import pandas as pd
st.set_page_config(page_title="Expense App",
page_icon=":dollar_banknote:")
# --- Title----
st.subheader("Castush Expense App")
expenses = {
"Purchases": [],
"Amounts": []
}
# ------- Form ----------
with st.form(key="form", clear_on_submit=True):
purchase = st.text_input('Enter your purchase')
amount = st.number_input('Enter the amount')
add_btn = st.form_submit_button("Add", type="primary")
# Event handler
def addPurchase(purchase, amount):
if purchase and amount:
expenses.get('Purchases').append(purchase)
expenses.get("Amounts").append(amount)
if add_btn:
addPurchase(purchase=purchase, amount=amount)
# Create a DataFrame Object
df = pd.DataFrame(expenses)
# Display df as a table
if len(expenses.get('Purchases')) > 0 and len(expenses.get('Amounts')) > 0:
st.table(df)
amounts_list = expenses.get("Amounts")
total = 0
if len(amounts_list) > 0:
for item in amounts_list:
total += item
st.subheader(f'Your total expenses is: {total}')
# -------- Test Code
# def tDisplay(purchase, amount):
# st.write(f"Purchase: {purchase} Amount: {amount}")
# if add_btn:
# tDisplay(purchase, amount)