|
import streamlit as st |
|
|
|
|
|
st.title('Calculateur de monnaie') |
|
|
|
|
|
if 'total_paye' not in st.session_state: |
|
st.session_state['total_paye'] = 0.0 |
|
|
|
|
|
total_a_payer = st.number_input('Somme totale à payer', min_value=0.0, value=0.0, format="%.2f", help="Entrez la somme totale à payer.") |
|
|
|
|
|
col1, col2, col3 = st.columns(3) |
|
with col1: |
|
st.metric("Total payé", value=f"{st.session_state.total_paye:.2f}€") |
|
with col2: |
|
st.metric("Somme totale à payer", value=f"{total_a_payer:.2f}€") |
|
with col3: |
|
monnaie_a_rendre = st.session_state.total_paye - total_a_payer |
|
st.metric("Monnaie à rendre", value=f"{monnaie_a_rendre if monnaie_a_rendre > 0 else 0:.2f}€") |
|
|
|
|
|
def ajouter_argent(montant): |
|
st.session_state.total_paye += montant |
|
|
|
|
|
montants = [0.05, 0.10, 0.20, 0.50, 1, 2, 5, 10, 20, 30, 40, 50] |
|
for index in range(0, len(montants), 3): |
|
cols = st.columns(3) |
|
for i, montant in enumerate(montants[index:index+3]): |
|
with cols[i]: |
|
if st.button(f"{montant}€"): |
|
ajouter_argent(montant) |
|
st.rerun() |
|
|
|
|
|
if st.button('Réinitialiser'): |
|
st.session_state.total_paye = 0.0 |
|
st.rerun() |